#!/usr/local/bin/himmlrun ;HimML compiled module. * lean gensym_h gensym process_h gclause_h term_h lean_h |base&&&&&)))*$@$@'@@true@false&&&) @) @ @@*,@ term_h-1%term @@*5@process_h-4%spi_declaration@*:@gclause_h-1%gclause @@*=@process_h-1%spi_term @@*3@process_h-3%spi_process@*Z@process_h-2%spi_fact @) @ @@@7@-@+@''var&@*+ @ @) @@/@/@% ->@@1/@@%string&9@8/@2@%list.@/@,-&&.'@$@/@/@+.0@V), @@@<@&)e@/@/@@1`@R/@2c@1&B@J@C/@3&@4/@@%int&@4@4b@4&&@/@5&&6@SPI_PROC5@@7@/@/@@89@/@:-&;@GCLAUSE: @@@< @) @q@/@/@H@1@K/@2>@A/@=&&&>?@SPI_APPL}@/@/@1>@@SPI_VAR= @@@< @) @ @ @d@/@/@@AL@ABF@C&D@SPI_OUT @i@CE@SPI_ZEROk@U/@/@P@1BFG@SPI_BANG @ @n@/@/@HFI@SPI_CALLo@N/@/@@A@1X@AS@JBFK@SPI_DECRYPT_SYMr@/@/@@1LFM@SPI_LET @ @ @s@NO@SPI_DECRYPT_ASYMt@/@/@@APFQ@SPI_INx@/@/@@A@1@RSFT@ SPI_DESTRUCT @ @y@UV@SPI_NEWz@/@/@e/@2BFW@SPI_PAR~@/@/@@AXFY@SPI_IF3@@< @) @p@\/@/@@A>@/@Z&&[@SPI_DIFFu@\]@SPI_EQZ&&))) @ @) @@/@/@@1g@f/@2^@/@,h@_@''a&&&^'@/@/@_^0 @ @ @ @ @@g/@/@ @) @@/@a@% -m>@1@`&@ processes @ @@@'b&@/@a@1b@funs@l@'a@ constructors@@/@a@JcA@/@2@@1@/@:c&&&&@lean_semanticsd @e@/@/@@fg@/@:h&; @i @ @ @@v/@/@1@/@@%exn&&j@LeanCallArityMismatchk)) @ @ @@/@/@{ @|@/@/@1m@&&@put@l&@Q/@/@Am&@print_spi_termn @op @qr @ @ @ @) @s@/@/@@Rg^@mkenv @tu @@vw@ LeanNotFoundx @ @ @) @ @@/@/@Rc@contCy) @z@/@/@{@|&@mangle @} @~@@ LeanSemantics) @) @ @ @) @@/@/@/@a@/@/@^&@tsubst@/@/@@ @|@/@/@_c&@/@/@m&@print_gclause_pl @@@ print_gclause @ @@/@/@@/@/@m&@ print_term@/@/@1@/@@%bool&&@is_fun @ @@/@/@@/@a@_m&@tvars@@ print_atom @ @ @ @ @d @ @n @ @ @sx @ @}~ @) @ @ @ @@@<@spi_fact@@<J@located_process@@< @) @ @@/@a@ spi_program @@@7@term@@<@spi_declaration @ @@@<A@ spi_pattern@@spi_term @@@<C@ spi_process@@7@gclause)&&))) @ @) @@@2@ @'@@9@ 0 @ @ @ @ @@@@#@@F@ D @@@B@ 6@@T@; @@@X@E @ @ @@@@ j@@\@G)) @ @ @@@&@@@@I @@@@K@@@[ @@@@?@@@M @ @ @ @) @@@@O@@@" @@@@Q@@@] @@@@w@@@T @ @ @) @ @@@@!@@@V) @@@@W@@/@ @@@@@ @@@@Y@@@&&$ @ @ @ @@6 @) @@@j@ @@@@ @ @ @) @@@w @ @@@)@ @ @@;@ @ @@@@) @ @ @@@@ @ @ @ @@@@ @@@ @ @@@@& @) @ @@$@'@'0&&, @@65@;: @@$@'@?@&&= @@$@'@ EKDTVWOMQYGI&&3@$@'@[]&&Z&@lean @'& @ @) @@( @'@(0 @ @ @ @@(D @@(6@(; @@(E @ @ @@(j@(G)) @ @@(I @@(K@([ @@(?@(M @ @ @@(O @@(Q@(] @@(w@(T @ @@(V@(W @@(@ @@(Y@(&$@&$@&45 $@&$@&$@&$@&$@&$@&$@&$@&$@ &$@ &$@&$@&$@&$@&$@&$@&,) @/@/@@ @$@& @ @ @ @ @ @ @& U\NC@lean.ml @ @v  gHlean_semanticsprint_atomprint_termtsubsttvarsprint_gclauseprint_gclause_plis_funprint_spi_termmangleSPI_IFSPI_VARSPI_PARSPI_NEWSPI_DESTRUCTSPI_EQSPI_INSPI_DECRYPT_ASYMSPI_LETSPI_APPLSPI_DIFFSPI_DECRYPT_SYMSPI_CALLSPI_BANGSPI_ZEROGCLAUSESPI_PROCSPI_OUTV$LeanSemanticsLeanNotFoundLeanCallArityMismatchcontCmkenvlean_semantics~!"sssssssss s~ r >  ssssssss s sssssss s  s s s s !s#$s ~%s!~'s"~)s#+3~Z    % , 2 @ Q X g h n  u  } ~ ~ ~ ~# ~* ~; ~C ~L ~U ~e ~n ~w ~ ~ ~ ~ ~~   ~ ~ ~ ~"  ~ ~" )~! ~& &~" ~( 5~# ~* ~~~&*@ *anonymous* )& CU\N@ lean_h.ml Bmangleprint_spi_termis_funSPI_ZEROSPI_VARSPI_NEWSPI_CALLSPI_DIFFSPI_DECRYPT_ASYMSPI_PROCSPI_OUTSPI_IFSPI_LETSPI_APPLSPI_DESTRUCTSPI_BANGSPI_PARSPI_EQSPI_DECRYPT_SYMSPI_INprint_gclause_plprint_gclausetvarstsubstprint_termprint_atomGCLAUSEV$~!"sss~r> sssss ss s  s  s s ss sss s~!" ssssss~r> sss3~   )  & .  6  ?  H  Y  b j q y ~ ~  ~ ~"  ~)  ~9~G  ~G~KH ~@ ~Q ~_ ~e ~l ~w ~ ~ ~ ~~ ~~&T88>3  &T88>3   &"(( &  @) @@.j @@.w@. @R@*@_c& @1 @A@ @$ @ @ @ @@/@/@&c@convert@/@/@4m@seekend@@seek @ @@/@/@&b@tell| @@@advance@/@/@&m@truncate) @(hz xixtfconvertX~~E!FV9LI~xBA$V$CV x~) 6~Z~"V~~ ~66~6~ 6$3zk   !W !    !;0 "4   ")> $E $FH %NOQ )QS& @) @ @ @@, @fLVp?xitermsX!~6~ x3)    5 &  &ZLL171 @) @ @ @@, @ @l @ @/@/@1c&  /@@%ref@/@a@1@ /@b&&) @/@@&  @/@/@q @@main&  @J ' @/@/@Ac 3 @/@/@47@O/@,c& : @/@/@6/@2@l&>@N/@27& G @/@/@4>?@starta@to@zerod@nat @@0&@s@@XC @/@A U @Q ] @/@@/@a@Jm& @/@/@`mfunsconstructorsprocessesgensymgensymgencntsubprocsqbulletstartstartqeqeq_invXivars_ofvars_uptocsrdo_exprdo_inv_exprdonerdo_procs~/~/~/~"#X~"~!"s~ r > sss ~~;s6sx s6s~s~s ~s ~s ~ s " # x$ x$  x$ 7 % &'x$  x$ 7 (&)x$  x$ &()x$  x$  x$ 7  s  ~~;+s ~~;-ss~/s 7) ) $3~~    8~  0  #  *E 8E 1 95N : @ Z A_  < Af C B1{ C~  I C~  P H~ S M ~ Z R~% ] W~. e! \~7 ^~] _~x `~ o* b*~ s, o~ {, w~ ~ . y+~ ~0 ~~ ~~ ~~ 5~~& }&(@ *&&"ۋ) @ process_h.ml \ C N U Ph,SPI_APPLSPI_VARSPI_DIFFSPI_EQSPI_ZEROSPI_DECRYPT_SYMSPI_OUTSPI_DESTRUCTSPI_NEWSPI_PARSPI_DECRYPT_ASYMSPI_LETSPI_INSPI_IFSPI_BANGSPI_CALLtststst s st ststststs ts ts ts ts tstst s!3    +   (  !  *  : B O W _  p x ~ ~ ~ 4>~ 7M~ ~ & )& @ gclause_h.ml `.print_atomprint_termtsubsttvarsV$~!"ssss~r> sst s 30    2 # %G  G OQ&P )& @ gensym.ml Xntgensymgencntgensym~!"s~r> s~s 3      *#  %,.&l ,,:@  @) @ @ @) @@,@subprocs@, @ @! @H@, @ @) @)" @@,` @J@@*L @1HNlps~@3~!~X~)?1)~1V V6)~~~<8~$$$~A3  9570  : ;  $ <)  <$*68: 95=&l$$ DH @%@, @ @( @) @ @)4 @@,@startq) @ @E @ @) @@,?)!I @ @) @@,@bullet"#@eq+ @AP@eq_, @$- @(T`efconvertX~)6~Z~"V~~ ~66~6~6$3[L   D 8 D,   D; F F  G  " C"$&l$$ IM  @% @ @ @.@,#()*@eq_inv+W@eq_inv_,-(T`efconvertX~)6~Z~"V~~ ~66~6~6$3[L   I8 I0   IC K K L " H"$&f$$ NR @% @ @1 @.Y @) @@,*()0@Xi< @4@,-4(\hifconvertX~)6~Z~"V~~~"~6~U6~ 6x $3SD   N 0 N,   N9 P  Q !# M #%&r((SW  @% @ @1 @) @8 @@,04)5@vars_ofM @6 = @ &PVlirX~~E)FV9LI~a~6 ~)6BA$V$CV$3N?   T+  T V V V $&57 R79& X\ @% @ @1 @)D @8 @@,5);@ vars_upto< =&PVkirX9~)~i-~a~6 ~)6B9~)~i~a~6 ~)6BA$VCV$3aR   Y>  Y Y [ [  Y [" [ *9; W;=&\``co  @% @R @1Z @@,@csrD @ @E @S @[ @@,;)HIJ@do_expr(+ @KL5M =& @N@fun_f@_eqb @O#P-,.%elflirvarseixieconvertfefconvertei~@3~!~z X$V~~"~~!X~X ~~E)F V9LI~a~6 ~)6BA$V$CV $$ bb~ 77~~E~~EU^FF V 9L?LAII~X~)6~Z~"V~~ ~66~6~6$$~  xBA$VL  V $CV X~)6~Z~"V~~ ~66~6~6$$~ ~ x  x 7  )8~~EFV9LI~6V$$$~A3  b*~ c ~    e~D=  T+  T V+ 2 V5 V =?NPR eR g\ ` hy~`  ~ Q~ J  D ~ ~ 8 D,~   D;~ F~ F ~ ~" G ~(~)~+~-~6 h~E ~SQ~SJ " D ~S ~T8 D,~X $ & D;~b F~i F ~j~l G ~r~s~u~w h~ k~ ~ . l~ ~~~~ b*~&.DDpw @% @R @ @E @S^ @@,JHIV@ do_inv_expr+@pub_inv#P,-(@pub@&*W@prv@prv_inv| eefconvertefconvertefconvertefconvert~@3~!~X~6 ~X~)6~Z~"V~~ ~66~6~ 6$$  x  x  x ~X~)6~Z~"V~~ ~66~6~ 6$$ x  x  x 7 ~X~)6~Z~"V~~ ~66~6~ 6$$ x  x  x ~ X~)6~Z~"V~~ ~66~6~ 6$$  x  x  x 7  )8 $$~A3  o~  q q QJ  D 8 D,    D;' F. F / 1 G 7 8:<UQUJ  IU V8 I0Z    ICd Kk Kl n Lt uwy s~ ~Q~J  D ~ ~8 D,~!    D;~+ F~2 F ~3 ~5 G ~; ~<~>~@~YQ~YJ & I~Y ~Z8 I0~^  ( * IC~h K~o K~p~r L~x~y~{~} u~ ~~ o~&A=Hz- @% @ @ @ @@,V.YZ @ @E @ @[@,@doner^I_@do_procs @R @C`(La@E&b @1c@@* @Kc @Rc @Jc5M = @Nc @Oc @Ac#+P-, @call@call_eq@bang@bang_eqd@@Y@if_eq@if_diff@send@P@in@in_eq@in_recv@recv@let@let_eq@crypt*W@ case_crypt@ case_crypt_eq@case_crypt_diff @ec@par @4c@new@new_eq@__nu@case_f;<@_diff_@out@out_sendP&nxiplpfromqreachfelxllp'lirvarsXeeconvertfnegtoqXxeconvertfpidvarlp'toqeconvertfee'elsebthenbeconvertfeconvertfneg_okeconvertfeconvertfneg_not_okthenqelseqcxlp'econvertfnegtoqeconvertfxelp'econvertfnegtoqeconvertfelsebe1xthenbe2econvertfeconvertfneg_okeconvertfneg_not_okthenqelseqeconvertflpllp'toqxlp'toqklirvarsXyeconvertfeconvertftermsxielsebe1fthenbxllirvarseconvertfneg_okthenqelseqXxeconvertfkgkirvarseconvertfnegcelp'econvertfeconvertfnegtoqelsebe1xthenbe2econvertfeconvertfneg_okeconvertfneg_not_okthenqelseqeconvertfspi~P~V~~X~)?1V ~6  x ~ x   x )~ ~<8~z   zT X$V {~"~~!XQ~1VVRVR(X~6 $V ~~!~X~~E)F V9LI~a~6 ~)6BA$V$CV $$Qz ~ ~E~~E\fFF V 9LFLHII~6~X~)6~Z~"V~~ ~66~6~6$$~  x BA$VL $V$CV RVR(X ~ 6 $V ~6  ~  x ~  x   x  7 a~ ~E~ ~EenFF V 9LOLQII! ~x"X~)6~Z~"V~~ ~66~6~6$$~  x  7 BA$VL  V $CV  )78~~~CV~"~~!X~6 #    x ~  x   x  7 $ %&x   x  ~ x"X~)6~Z~"V~~ ~66~6~6$$&x   x  7  )8~ ~~CV`~"~~~~~~~~X~ ~X~)6~Z~"V~~ ~66~6~6$$&x   x ~X~)6~Z~"V~~ ~66~6~6$$&x   x  ~ ~ X~)6~Z~"V~~ ~66~6~6$$&x   x ~ X~)6~Z~"V~~ ~66~6~6$$'x   x  ~6~6 6~ 6 (~   x ~  x   x  7  )8 ~ 7 )~   x ~  x   x  7  )8 ~ ~CV~"~~~~~~X~ *+x &x 'x   x ~X~)6~Z~"V~~ ~66~6~6$$&x   x  ~6~ 6 ,~  x ~  x   x  7 -~ x"X~)6~Z~"V~~ ~66~6~6$$'x   x  7 .~ /+x &x 'x  x   x  7  )8~ ~~CV~"~~~~~~X~ ~X~)6~Z~"V~~ ~66~6~6$$&x   x  ~6~6 0~  x ~  x   x  7 1~ x"X~)6~Z~"V~~ ~66~6~6$$&x   x  7  )8~ ~~CV)~"~~~~~~~~~~X~ ~ X~)6~Z~"V~~ ~66~6~6$$2&x 'x   x   x ~X~)46~Z~"V~~ ~66~6~6$$'x   x   ~ X~)6~Z~"V~~ ~66~6~6$$&x   x  ~6~6 6~ 6 5~   x ~  x   x  7 6~ x"X~)6~Z~"V~~ ~66~6~6$$&x   x  7  )8 ~ 7 7~   x ~  x   x  7  )8 ~ ~CV~"X~EVVFV9LJI~6 9    x ~  x   x  7  )8 ~7V$V~"~~!X~6{ 6 X~~E)F V9LI~a~6 ~)6BA$V$CV $$ ;    x  x   x  7 < ~E~ ~EXaFF V 9LBLDII~x"X~)6~Z~"V~~ ~66~6~6$$~  x BA$VL  V $CV  x"X~)6~Z~"V~~ ~66~6~6$$=  x X!~6~ x $  x   x  7  )8 ~~CV~"~~~~~~~~~~X~X~~E)F V9LI~a~6 ~)6BA$V$CV $$ ~ X~)6~Z~"V~~ ~66~6~6$$~ ~ x   x  ~6~6 6 bA 7~   x ~  x   x  7 a ~E~ ~EqzFF V 9L[L]IIbbA 7B7 ~x"X~)6~Z~"V~~ ~66~6~6$$~  x  7 BA$VL  V $CV  )78a 7~ 7~K~aGV9M~TJ~~!~ *~X9~)~i-~a~6 ~)6B9~)~i~a~6 ~)6BA$VCV $$ X~)6~Z~"V~~ ~66~6~6$$~~ x   x   bbbA 7E7~ 7~  x  x   x  7  )8$V-W ~ ~CV~"~~~~~~X~ ~X~)6~Z~"V~~ ~66~6~6$$&x   x ~X~)6~Z~"V~~ ~66~6~6$$'x   x  ~6~ 6~6 F~  x ~  x   x  7 G~ *  x &x 'x   x  7  )8 ~~CV~"~~~~~~~~~~X~ ~ X~)6~Z~"V~~ ~66~6~6$$2&x 'x   x   x ~X~)6~Z~"V~~ ~66~6~6$$'x   x   ~ X~)6~Z~"V~~ ~66~6~6$$&x   x  ~6~6 6~ 6 5~   x ~  x   x  7 6~ x"X~)6~Z~"V~~ ~66~6~6$$&x   x  7  )8 ~ 7 7~   x ~  x   x  7  )8 ~ ~CV0$3     { r ~  ~  ~-5BKB ~QTY   ~\ ] ~o s t ~5x ~;} ~5~ ~ ~~    ~I~ ~ D~ =  T~ ~ + " T~ V~~# V~& V ~.~0~?~A~C % ~~C ~ ~\~ih * , ~ ~m~qQ~qJ . D ~q~r8 D,~v 0 8 D;~ F~ F ~~ G ~~~~~ ~  ~ ~~~ ~ ~ ~ ~ ~ ~~ ~ ~ : ~ 4~ ~~ > ~~ ~~ ~h B DQJ F D 8 D, H P D; F! F   G   ~ ~~ R Y ~  { ~  ] ~ ~:ZQZJ a D Z[8 D,_ c k D;i Fp F qs G yz|~ ~ m o r x ~0 QJ ~ D 8 D, ~ ~  D; F F  G QJ ~  D 8 D, ~ ~ D; F F  G  ~ ~0< QJ ~ D 8 D, ~! ~) D;% F, F -/ G 568:GQGJ ~+ D GH8 D,L ~- ~5 D;V F] F ^` G fgik ~7 ~1@| ~2 ~B ~2 ~3 ~H ~3 ~5 ~5 ~7 ~9 ~;~ ~N ~P ~R ~  ~o(Q(J ~V D ()8 D,- ~X ~` D;7 F> F ?A G GHJL ~b ~H] ~a ~f ~b ~f ~QJ ~j D 8 D, ~l ~t D; F F  G  ~ ~~ ~v ~x ~z ~ ~gQJ ~~ D  8 D,# ~ ~ D;- F4 F 57 G =>@B ~ ~(R ~V ~ ~W ~[ ~QJ ~ D 8 D, ~ ~ D; F F  G  ~ ~ ~ ~ ~ ~ ~U QJ ~ D 8 D, ~ ~ D; F F  G   'Q3'J ~ I'(8 I0, ~ ~ IC6 K= K>@ LFGIK ~ ~V\_Q_J ~ D _`8 D,d ~ ~ D;n Fu F vx G ~ ~ ~W1 ~X ~ ~X ~Y ~ ~Y ~[ ~[ ~]QJ ~ D 8 D, ~ ~ D; F F  G  ~_ ~a% ~cN```B ~8 ~am t+  ~ x   ~y ~ ~   ~! ~ ~!   ~! ~"  : ~" D=  T +  T V V V     ~# ~&6 ~(Ub`  fQfJ  D fg8 D,k   D;u F| F } G  ~(QJ  D 8 D,   D; F F  G > ? @ 5 ~'          ~i #  $ %D %=  T % &+  T ) V 7 > V A V  I K Z \ ^  ~i ^ aQ aJ  D  a b8 D, f   D; p F w F  x z G       ~j/  ~k   ~k  ~l   ~l  ~n  ~p  ~p  ~q  u   ~q    Q J  D   8 D,    D;  F '" F  (! *! G  0! 1 3 5 ~q @ D ~q S c ~s p ~s s ~t 0 ~v2 :1  ~g WC P3 D Y 4 >4  Y 5 Y 5 [ 7 [  7 Y 6 [ 8 [  8   3  ~u# 4 Q J5   D  6 8 D, 87 "6 * D; 8 F ; F  : : G  :   4 , ~v+ 5 ~y ; : #9 ~z F: Q U g g g~ 0 2 4 ~ n  o~o qQ qJ 8 D  q  r8 D, v : B D;  F  F    G      Q J D D   8 D,  F N D;  F  F    G      P ~8 ~  T ~ ~  ~  ~  ~ 8 K K K X ^ a c i ~A V  W YQ YJ l D  Y Z8 D, ^ n v D; h F o F  p r G  x y { } Q J x D   8 D,  z  D;  F  F    G       ~B  Q J  D   8 D,    D;  F  F    G       ~C1  ~D   ~D  ~E   ~E  ~G  ~G  ~I C QQ QJ  D  Q R8 D, V   D; ` F g F  h j G  p q s u ~K  ~M  ~O    H ~     y+  &**. 55@ @@&,(@*&&N88B x3&N88B x3&\<<Fx3  +&\<<Fx3  +&\<<Fx3  (&\<<Fx3  (&\<<Fx3  (&\<<Fx3  (&\<<Fx3  (&\<<Fx3  (&\<<Fx3  (&\<<Fx3  (&\<<Fx3  (&\<<Fx 3  (&\<<Fx 3  (&p88@X~3   4>&) @ term_h.mlLNv-Vtsts3   &&p88@X~3    &&&T)<<D 3&8 ,, % @,@gencnt @gensym @   @4(`|prefixrcntconvertfputX~)?1)~1V V)~~~<8~$~)~6~~~~~a~6~"~6~) U6~ 6$3~ x   d     ,   . "1    26 "9 #?E $KLN *NP&@@@ @#@@@@@@ @@*@&'0@/'5@23;@9:J@BC@FGV@TU_@XU@\](@(@1 ,(@*&&&&N88B x3&N88B x3&&& @ &&&&&&&&&,,)@ })@,(@*&&&&&@xi@terms- 55 @,(@*)@!)@,(@*,(@*,(@*&,΍*,э,