TSTP Solution File: SWW476+6 by Otter---3.3

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Otter---3.3
% Problem  : SWW476+6 : TPTP v8.1.0. Released v5.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : otter-tptp-script %s

% Computer : n027.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Wed Jul 27 13:22:43 EDT 2022

% Result   : Unknown 46.88s 45.98s
% Output   : None 
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----No solution output by system
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.11  % Problem  : SWW476+6 : TPTP v8.1.0. Released v5.3.0.
% 0.03/0.12  % Command  : otter-tptp-script %s
% 0.12/0.33  % Computer : n027.cluster.edu
% 0.12/0.33  % Model    : x86_64 x86_64
% 0.12/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.33  % Memory   : 8042.1875MB
% 0.12/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.33  % CPULimit : 300
% 0.12/0.33  % WCLimit  : 300
% 0.12/0.33  % DateTime : Wed Jul 27 03:06:36 EDT 2022
% 0.12/0.33  % CPUTime  : 
% 46.88/45.89  ----- Otter 3.3f, August 2004 -----
% 46.88/45.89  The process was started by sandbox on n027.cluster.edu,
% 46.88/45.89  Wed Jul 27 03:06:36 2022
% 46.88/45.89  The command was "./otter".  The process ID is 1613.
% 46.88/45.89  
% 46.88/45.89  set(prolog_style_variables).
% 46.88/45.89  set(auto).
% 46.88/45.89     dependent: set(auto1).
% 46.88/45.89     dependent: set(process_input).
% 46.88/45.89     dependent: clear(print_kept).
% 46.88/45.89     dependent: clear(print_new_demod).
% 46.88/45.89     dependent: clear(print_back_demod).
% 46.88/45.89     dependent: clear(print_back_sub).
% 46.88/45.89     dependent: set(control_memory).
% 46.88/45.89     dependent: assign(max_mem, 12000).
% 46.88/45.89     dependent: assign(pick_given_ratio, 4).
% 46.88/45.89     dependent: assign(stats_level, 1).
% 46.88/45.89     dependent: assign(max_seconds, 10800).
% 46.88/45.89  clear(print_given).
% 46.88/45.89  
% 46.88/45.89  formula_list(usable).
% 46.88/45.89  all A (A=A).
% 46.88/45.89  ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))))),eval)=eval.
% 46.88/45.89  ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))))),evals)=evals.
% 46.88/45.89  all X_a (ti(fun(exp(X_a),bool),final(X_a))=final(X_a)).
% 46.88/45.89  all X_a (ti(fun(list(exp(X_a)),bool),finals(X_a))=finals(X_a)).
% 46.88/45.89  all X_a (ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)))),conf(X_a))=conf(X_a)).
% 46.88/45.89  ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool)),hconf(product_prod(list(list(char)),exp(list(char)))))=hconf(product_prod(list(list(char)),exp(list(char)))).
% 46.88/45.89  all X_a (ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)))),lconf(X_a))=lconf(X_a)).
% 46.88/45.89  ti(list(char),classCast)=classCast.
% 46.88/45.89  ti(list(char),nullPointer)=nullPointer.
% 46.88/45.89  ti(fun(list(char),nat),addr_of_sys_xcpt)=addr_of_sys_xcpt.
% 46.88/45.89  ti(fun(product_prod(bop,product_prod(val,val)),option(val)),binop)=binop.
% 46.88/45.89  ti(bop,c_Expr_Obop_OEq)=c_Expr_Obop_OEq.
% 46.88/45.89  all X_a (ti(fun(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a)))),binOp(X_a))=binOp(X_a)).
% 46.88/45.89  all X_a (ti(fun(X_a,fun(ty,fun(exp(X_a),exp(X_a)))),block(X_a))=block(X_a)).
% 46.88/45.89  all X_a (ti(fun(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a)))),call(X_a))=call(X_a)).
% 46.88/45.89  all X_a (ti(fun(list(char),fun(exp(X_a),exp(X_a))),cast(X_a))=cast(X_a)).
% 46.88/45.89  all X_a (ti(fun(exp(X_a),fun(list(char),fun(list(char),exp(X_a)))),fAcc(X_a))=fAcc(X_a)).
% 46.88/45.89  all X_a (ti(fun(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a))))),fAss(X_a))=fAss(X_a)).
% 46.88/45.89  all X_a (ti(fun(X_a,fun(exp(X_a),exp(X_a))),lAss(X_a))=lAss(X_a)).
% 46.88/45.89  all X_a (ti(fun(exp(X_a),fun(exp(X_a),exp(X_a))),se_q(X_a))=se_q(X_a)).
% 46.88/45.89  all X_a (ti(fun(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a))))),tryCatch(X_a))=tryCatch(X_a)).
% 46.88/45.89  all X_a (ti(fun(val,exp(X_a)),val_1(X_a))=val_1(X_a)).
% 46.88/45.89  all X_a (ti(fun(exp(X_a),fun(exp(X_a),exp(X_a))),while(X_a))=while(X_a)).
% 46.88/45.89  all X_a (ti(fun(exp(X_a),exp(X_a)),throw(X_a))=throw(X_a)).
% 46.88/45.89  all X_c X_b X_a (ti(fun(fun(X_c,X_b),fun(fun(X_a,X_c),fun(X_a,X_b))),comp(X_c,X_b,X_a))=comp(X_c,X_b,X_a)).
% 46.88/45.89  all X_a X_b (ti(fun(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b)))),fun_upd(X_a,X_b))=fun_upd(X_a,X_b)).
% 46.88/45.89  ti(fun(fun(list(char),option(val)),fun(fun(list(char),option(val)),fun(fun(list(char),bool),fun(list(char),option(val))))),override_on(list(char),option(val)))=override_on(list(char),option(val)).
% 46.88/45.89  all X_a (ti(X_a,undefined(X_a))=undefined(X_a)).
% 46.88/45.89  all X_a (ti(fun(list(X_a),fun(list(X_a),list(X_a))),append(X_a))=append(X_a)).
% 46.88/45.89  all X_a (ti(fun(list(X_a),bool),distinct(X_a))=distinct(X_a)).
% 46.88/45.89  all X_a (ti(fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool)),lex(X_a))=lex(X_a)).
% 46.88/45.89  all X_a (ti(fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool)),lexord(X_a))=lexord(X_a)).
% 46.88/45.89  all X_a (ti(fun(X_a,fun(list(X_a),list(X_a))),cons(X_a))=cons(X_a)).
% 46.88/45.89  all X_a X_b (ti(fun(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool))),list_all2(X_a,X_b))=list_all2(X_a,X_b)).
% 46.88/45.89  all X_b X_a (ti(fun(fun(X_b,X_a),fun(list(X_b),list(X_a))),map(X_b,X_a))=map(X_b,X_a)).
% 46.88/45.89  all X_b (ti(fun(list(X_b),fun(X_b,bool)),set(X_b))=set(X_b)).
% 46.88/45.89  all X_a X_b (ti(fun(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b)))),map_add(X_a,X_b))=map_add(X_a,X_b)).
% 46.88/45.89  all X_a X_b (ti(fun(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b))))),map_upds(X_a,X_b))=map_upds(X_a,X_b)).
% 46.88/45.89  all X_a (ti(fun(list(X_a),nat),size_size(list(X_a)))=size_size(list(X_a))).
% 46.88/45.89  ti(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool)),hext)=hext.
% 46.88/45.89  ti(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,option(ty))),typeof_h)=typeof_h.
% 46.88/45.89  all X_a (ti(fun(X_a,option(X_a)),some(X_a))=some(X_a)).
% 46.88/45.89  all X_a (ti(fun(option(X_a),X_a),the(X_a))=the(X_a)).
% 46.88/45.89  all X_e X_f (ti(fun(X_e,fun(X_f,product_prod(X_e,X_f))),product_Pair(X_e,X_f))=product_Pair(X_e,X_f)).
% 46.88/45.89  all X_b X_c X_a (ti(fun(fun(product_prod(X_b,X_c),X_a),fun(X_b,fun(X_c,X_a))),product_curry(X_b,X_c,X_a))=product_curry(X_b,X_c,X_a)).
% 46.88/45.89  all X_b X_c X_a (ti(fun(fun(X_b,fun(X_c,X_a)),fun(product_prod(X_b,X_c),X_a)),produc1605651328_split(X_b,X_c,X_a))=produc1605651328_split(X_b,X_c,X_a)).
% 46.88/45.89  all X_b X_c X_a (ti(fun(fun(X_b,fun(X_c,X_a)),fun(product_prod(X_b,X_c),X_a)),product_prod_rec(X_b,X_c,X_a))=product_prod_rec(X_b,X_c,X_a)).
% 46.88/45.89  ti(fun(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char))),blocks)=blocks.
% 46.88/45.89  ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool)),red)=red.
% 46.88/45.89  ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))))),redp)=redp.
% 46.88/45.89  ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool)),reds)=reds.
% 46.88/45.89  ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))))),redsp)=redsp.
% 46.88/45.89  ti(fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hp)=hp.
% 46.88/45.89  all X_a (ti(fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),transitive_rtrancl(X_a))=transitive_rtrancl(X_a)).
% 46.88/45.89  all X_a (ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))))),method(X_a))=method(X_a)).
% 46.88/45.89  all X_a (ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool)),subcls1(X_a))=subcls1(X_a)).
% 46.88/45.89  all X_a (ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool))),widen(X_a))=widen(X_a)).
% 46.88/45.89  ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),typeSa1687304666_sconf)=typeSa1687304666_sconf.
% 46.88/45.89  ti(fun(ty,bool),is_refT)=is_refT.
% 46.88/45.89  ti(list(char),this)=this.
% 46.88/45.89  ti(fun(list(char),ty),class)=class.
% 46.88/45.89  ti(fun(ty,val),default_val)=default_val.
% 46.88/45.89  ti(fun(nat,val),addr)=addr.
% 46.88/45.89  ti(fun(bool,val),bool_1)=bool_1.
% 46.88/45.89  ti(val,null)=null.
% 46.88/45.89  ti(val,unit)=unit.
% 46.88/45.89  ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))))),wTrt)=wTrt.
% 46.88/45.89  ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))))),wTrts)=wTrts.
% 46.88/45.89  ti(bool,fFalse)=fFalse.
% 46.88/45.89  ti(bool,fTrue)=fTrue.
% 46.88/45.89  all X_a (ti(fun(X_a,fun(X_a,bool)),fe_qual(X_a))=fe_qual(X_a)).
% 46.88/45.89  all X_c X_a B_1_1 B_2_1 (hAPP(X_c,X_a,ti(fun(X_c,X_a),B_1_1),B_2_1)=hAPP(X_c,X_a,B_1_1,B_2_1)).
% 46.88/45.89  all X_c X_a B_1_1 B_2_1 (hAPP(X_c,X_a,B_1_1,ti(X_c,B_2_1))=hAPP(X_c,X_a,B_1_1,B_2_1)).
% 46.88/45.89  all X_a X_c B_1_1 B_2_1 (ti(X_a,hAPP(X_c,X_a,B_1_1,B_2_1))=hAPP(X_c,X_a,B_1_1,B_2_1)).
% 46.88/45.89  all B_1_1 (hBOOL(ti(bool,B_1_1))<->hBOOL(B_1_1)).
% 46.88/45.89  all X_a (ti(fun(X_a,fun(fun(X_a,bool),bool)),member(X_a))=member(X_a)).
% 46.88/45.89  ti(fun(list(char),option(ty)),e_1)=e_1.
% 46.88/45.89  ti(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),p)=p.
% 46.88/45.89  ti(ty,t)=t.
% 46.88/45.89  ti(list(ty),ts)=ts.
% 46.88/45.89  ti(list(list(char)),vs_1)=vs_1.
% 46.88/45.89  ti(exp(list(char)),e)=e.
% 46.88/45.89  ti(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),h)=h.
% 46.88/45.89  ti(list(val),vs)=vs.
% 46.88/45.89  all X_a Pa Xs hBOOL(hAPP(list(ty),bool,hAPP(list(ty),fun(list(ty),bool),hAPP(fun(ty,fun(ty,bool)),fun(list(ty),fun(list(ty),bool)),list_all2(ty,ty),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa)),Xs),Xs)).
% 46.88/45.89  all X_m P T_2 hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_m)))))))),fun(ty,fun(ty,bool)),widen(X_m),P),T_2),T_2)).
% 46.88/45.89  all X_a Us_3 Pa Ss Tsa (hBOOL(hAPP(list(ty),bool,hAPP(list(ty),fun(list(ty),bool),hAPP(fun(ty,fun(ty,bool)),fun(list(ty),fun(list(ty),bool)),list_all2(ty,ty),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa)),Ss),Tsa))-> (hBOOL(hAPP(list(ty),bool,hAPP(list(ty),fun(list(ty),bool),hAPP(fun(ty,fun(ty,bool)),fun(list(ty),fun(list(ty),bool)),list_all2(ty,ty),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa)),Tsa),Us_3))->hBOOL(hAPP(list(ty),bool,hAPP(list(ty),fun(list(ty),bool),hAPP(fun(ty,fun(ty,bool)),fun(list(ty),fun(list(ty),bool)),list_all2(ty,ty),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa)),Ss),Us_3)))).
% 46.88/45.89  all X_b X_a Pa Xs Ys (hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs),Ys))->hAPP(list(X_a),nat,size_size(list(X_a)),Xs)=hAPP(list(X_b),nat,size_size(list(X_b)),Ys)).
% 46.88/45.89  all X_a X_b F_1 Xs (hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F_1),Xs))=hAPP(list(X_b),nat,size_size(list(X_b)),Xs)).
% 46.88/45.89  all X_b X_a X_c F_1 Xs G Ys (hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F_1),Xs)=hAPP(list(X_c),list(X_a),hAPP(fun(X_c,X_a),fun(list(X_c),list(X_a)),map(X_c,X_a),G),Ys)->hAPP(list(X_b),nat,size_size(list(X_b)),Xs)=hAPP(list(X_c),nat,size_size(list(X_c)),Ys)).
% 46.88/45.89  all X_a X_b X_c X_d X_e X_f X_1 Pa ((all A_5 B_1 C_6 D_5 E_4 F_2 hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))))),bool,Pa,hAPP(product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))))),hAPP(X_a,fun(product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))))),product_Pair(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))))),A_5),hAPP(product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))),product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),hAPP(X_b,fun(product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))),product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))))),product_Pair(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),B_1),hAPP(product_prod(X_d,product_prod(X_e,X_f)),product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))),hAPP(X_c,fun(product_prod(X_d,product_prod(X_e,X_f)),product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),product_Pair(X_c,product_prod(X_d,product_prod(X_e,X_f))),C_6),hAPP(product_prod(X_e,X_f),product_prod(X_d,product_prod(X_e,X_f)),hAPP(X_d,fun(product_prod(X_e,X_f),product_prod(X_d,product_prod(X_e,X_f))),product_Pair(X_d,product_prod(X_e,X_f)),D_5),hAPP(X_f,product_prod(X_e,X_f),hAPP(X_e,fun(X_f,product_prod(X_e,X_f)),product_Pair(X_e,X_f),E_4),F_2))))))))->hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))))),bool,Pa,X_1))).
% 46.88/45.89  all X_a X_b X_c X_d X_e X_f Y (-(all A_5 B_1 C_6 D_5 E_4 F_2 (ti(product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))))),Y)!=hAPP(product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))))),hAPP(X_a,fun(product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))))),product_Pair(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))))),A_5),hAPP(product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))),product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),hAPP(X_b,fun(product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))),product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))))),product_Pair(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),B_1),hAPP(product_prod(X_d,product_prod(X_e,X_f)),product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))),hAPP(X_c,fun(product_prod(X_d,product_prod(X_e,X_f)),product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),product_Pair(X_c,product_prod(X_d,product_prod(X_e,X_f))),C_6),hAPP(product_prod(X_e,X_f),product_prod(X_d,product_prod(X_e,X_f)),hAPP(X_d,fun(product_prod(X_e,X_f),product_prod(X_d,product_prod(X_e,X_f))),product_Pair(X_d,product_prod(X_e,X_f)),D_5),hAPP(X_f,product_prod(X_e,X_f),hAPP(X_e,fun(X_f,product_prod(X_e,X_f)),product_Pair(X_e,X_f),E_4),F_2)))))))).
% 46.88/45.89  all X_a X_b X_c X_d X_e X_1 Pa ((all A_5 B_1 C_6 D_5 E_4 hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),bool,Pa,hAPP(product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),hAPP(X_a,fun(product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))))),product_Pair(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),A_5),hAPP(product_prod(X_c,product_prod(X_d,X_e)),product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),hAPP(X_b,fun(product_prod(X_c,product_prod(X_d,X_e)),product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),product_Pair(X_b,product_prod(X_c,product_prod(X_d,X_e))),B_1),hAPP(product_prod(X_d,X_e),product_prod(X_c,product_prod(X_d,X_e)),hAPP(X_c,fun(product_prod(X_d,X_e),product_prod(X_c,product_prod(X_d,X_e))),product_Pair(X_c,product_prod(X_d,X_e)),C_6),hAPP(X_e,product_prod(X_d,X_e),hAPP(X_d,fun(X_e,product_prod(X_d,X_e)),product_Pair(X_d,X_e),D_5),E_4)))))))->hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),bool,Pa,X_1))).
% 46.88/45.89  all X_a X_b X_c X_d X_e Y (-(all A_5 B_1 C_6 D_5 E_4 (ti(product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),Y)!=hAPP(product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),hAPP(X_a,fun(product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))))),product_Pair(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),A_5),hAPP(product_prod(X_c,product_prod(X_d,X_e)),product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),hAPP(X_b,fun(product_prod(X_c,product_prod(X_d,X_e)),product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),product_Pair(X_b,product_prod(X_c,product_prod(X_d,X_e))),B_1),hAPP(product_prod(X_d,X_e),product_prod(X_c,product_prod(X_d,X_e)),hAPP(X_c,fun(product_prod(X_d,X_e),product_prod(X_c,product_prod(X_d,X_e))),product_Pair(X_c,product_prod(X_d,X_e)),C_6),hAPP(X_e,product_prod(X_d,X_e),hAPP(X_d,fun(X_e,product_prod(X_d,X_e)),product_Pair(X_d,X_e),D_5),E_4))))))).
% 46.88/45.89  all X_a X_b X_c X_d X_1 Pa ((all A_5 B_1 C_6 D_5 hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,X_d))),bool,Pa,hAPP(product_prod(X_b,product_prod(X_c,X_d)),product_prod(X_a,product_prod(X_b,product_prod(X_c,X_d))),hAPP(X_a,fun(product_prod(X_b,product_prod(X_c,X_d)),product_prod(X_a,product_prod(X_b,product_prod(X_c,X_d)))),product_Pair(X_a,product_prod(X_b,product_prod(X_c,X_d))),A_5),hAPP(product_prod(X_c,X_d),product_prod(X_b,product_prod(X_c,X_d)),hAPP(X_b,fun(product_prod(X_c,X_d),product_prod(X_b,product_prod(X_c,X_d))),product_Pair(X_b,product_prod(X_c,X_d)),B_1),hAPP(X_d,product_prod(X_c,X_d),hAPP(X_c,fun(X_d,product_prod(X_c,X_d)),product_Pair(X_c,X_d),C_6),D_5))))))->hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,X_d))),bool,Pa,X_1))).
% 46.88/45.89  all X_a X_b X_c X_d Y (-(all A_5 B_1 C_6 D_5 (ti(product_prod(X_a,product_prod(X_b,product_prod(X_c,X_d))),Y)!=hAPP(product_prod(X_b,product_prod(X_c,X_d)),product_prod(X_a,product_prod(X_b,product_prod(X_c,X_d))),hAPP(X_a,fun(product_prod(X_b,product_prod(X_c,X_d)),product_prod(X_a,product_prod(X_b,product_prod(X_c,X_d)))),product_Pair(X_a,product_prod(X_b,product_prod(X_c,X_d))),A_5),hAPP(product_prod(X_c,X_d),product_prod(X_b,product_prod(X_c,X_d)),hAPP(X_b,fun(product_prod(X_c,X_d),product_prod(X_b,product_prod(X_c,X_d))),product_Pair(X_b,product_prod(X_c,X_d)),B_1),hAPP(X_d,product_prod(X_c,X_d),hAPP(X_c,fun(X_d,product_prod(X_c,X_d)),product_Pair(X_c,X_d),C_6),D_5)))))).
% 46.88/45.89  all X_b X_a A_4 B_4 A_1 B_3 (hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_4),B_4)=hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_1),B_3)-> -(ti(X_a,A_4)=ti(X_a,A_1)->ti(X_b,B_4)!=ti(X_b,B_3))).
% 46.88/45.89  all X_b X_a A_3 B A_2 B_2 (hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_3),B)=hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_2),B_2)<->ti(X_a,A_3)=ti(X_a,A_2)&ti(X_b,B)=ti(X_b,B_2)).
% 46.88/45.89  all X_a X_b Pa ((all X1 hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,X1)))<-> (all A_5 B_1 hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_5),B_1))))).
% 46.88/45.89  all X_a Xs_1 Ys_2 (hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)!=hAPP(list(X_a),nat,size_size(list(X_a)),Ys_2)->Xs_1!=Ys_2).
% 46.88/45.89  all X_a Xs Ys (Xs=Ys<->hBOOL(hAPP(list(X_a),bool,hAPP(list(X_a),fun(list(X_a),bool),hAPP(fun(X_a,fun(X_a,bool)),fun(list(X_a),fun(list(X_a),bool)),list_all2(X_a,X_a),fe_qual(X_a)),Xs),Ys))).
% 46.88/45.89  all X_a T_2 P S_4 U_1 (hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),P),S_4),U_1))-> (hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),P),U_1),T_2))->hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),P),S_4),T_2)))).
% 46.88/45.89  all X_a X_b X_c Y (-(all A_5 B_1 C_6 (ti(product_prod(X_a,product_prod(X_b,X_c)),Y)!=hAPP(product_prod(X_b,X_c),product_prod(X_a,product_prod(X_b,X_c)),hAPP(X_a,fun(product_prod(X_b,X_c),product_prod(X_a,product_prod(X_b,X_c))),product_Pair(X_a,product_prod(X_b,X_c)),A_5),hAPP(X_c,product_prod(X_b,X_c),hAPP(X_b,fun(X_c,product_prod(X_b,X_c)),product_Pair(X_b,X_c),B_1),C_6))))).
% 46.88/45.89  all X_a X_b X_c X_1 Pa ((all A_5 B_1 C_6 hBOOL(hAPP(product_prod(X_a,product_prod(X_b,X_c)),bool,Pa,hAPP(product_prod(X_b,X_c),product_prod(X_a,product_prod(X_b,X_c)),hAPP(X_a,fun(product_prod(X_b,X_c),product_prod(X_a,product_prod(X_b,X_c))),product_Pair(X_a,product_prod(X_b,X_c)),A_5),hAPP(X_c,product_prod(X_b,X_c),hAPP(X_b,fun(X_c,product_prod(X_b,X_c)),product_Pair(X_b,X_c),B_1),C_6)))))->hBOOL(hAPP(product_prod(X_a,product_prod(X_b,X_c)),bool,Pa,X_1))).
% 46.88/45.89  all X_a Pa Ha Vsa Ts_1 (hBOOL(hAPP(list(ty),bool,hAPP(list(val),fun(list(ty),bool),hAPP(fun(val,fun(ty,bool)),fun(list(val),fun(list(ty),bool)),list_all2(val,ty),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Ha)),Vsa),Ts_1))<-> (exists Ts_4 (hAPP(list(val),list(option(ty)),hAPP(fun(val,option(ty)),fun(list(val),list(option(ty))),map(val,option(ty)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,option(ty)),typeof_h,Ha)),Vsa)=hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),Ts_4)&hBOOL(hAPP(list(ty),bool,hAPP(list(ty),fun(list(ty),bool),hAPP(fun(ty,fun(ty,bool)),fun(list(ty),fun(list(ty),bool)),list_all2(ty,ty),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa)),Ts_4),Ts_1))))).
% 46.88/45.89  all X_b X_c X_a F1 A_3 B (hAPP(product_prod(X_b,X_c),X_a,hAPP(fun(X_b,fun(X_c,X_a)),fun(product_prod(X_b,X_c),X_a),product_prod_rec(X_b,X_c,X_a),F1),hAPP(X_c,product_prod(X_b,X_c),hAPP(X_b,fun(X_c,product_prod(X_b,X_c)),product_Pair(X_b,X_c),A_3),B))=hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),F1,A_3),B)).
% 46.88/45.89  all X_b X_a Q Pa Xs Ys (hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs),Ys))-> ((all Xs_2 Ys_1 (hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Xs_2),Ys_1))->hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Q,Xs_2),Ys_1))))->hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Q),Xs),Ys)))).
% 46.88/45.89  all X_a Xs Pa ((all X_2 hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),Pa,X_2),X_2)))->hBOOL(hAPP(list(X_a),bool,hAPP(list(X_a),fun(list(X_a),bool),hAPP(fun(X_a,fun(X_a,bool)),fun(list(X_a),fun(list(X_a),bool)),list_all2(X_a,X_a),Pa),Xs),Xs))).
% 46.88/45.89  all X_a Xs Ys Q Pa ((all X_2 Y_2 (hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),Pa,X_2),Y_2))-> (hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),Q,Y_2),X_2))->ti(X_a,X_2)=ti(X_a,Y_2))))-> (hBOOL(hAPP(list(X_a),bool,hAPP(list(X_a),fun(list(X_a),bool),hAPP(fun(X_a,fun(X_a,bool)),fun(list(X_a),fun(list(X_a),bool)),list_all2(X_a,X_a),Pa),Xs),Ys))-> (hBOOL(hAPP(list(X_a),bool,hAPP(list(X_a),fun(list(X_a),bool),hAPP(fun(X_a,fun(X_a,bool)),fun(list(X_a),fun(list(X_a),bool)),list_all2(X_a,X_a),Q),Ys),Xs))->Xs=Ys))).
% 46.88/45.89  all X_c X_b X_a Cs As Bs P3 P2 P1 ((all A_5 B_1 C_6 (hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),P1,A_5),B_1))-> (hBOOL(hAPP(X_c,bool,hAPP(X_b,fun(X_c,bool),P2,B_1),C_6))->hBOOL(hAPP(X_c,bool,hAPP(X_a,fun(X_c,bool),P3,A_5),C_6)))))-> (hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),P1),As),Bs))-> (hBOOL(hAPP(list(X_c),bool,hAPP(list(X_b),fun(list(X_c),bool),hAPP(fun(X_b,fun(X_c,bool)),fun(list(X_b),fun(list(X_c),bool)),list_all2(X_b,X_c),P2),Bs),Cs))->hBOOL(hAPP(list(X_c),bool,hAPP(list(X_a),fun(list(X_c),bool),hAPP(fun(X_a,fun(X_c,bool)),fun(list(X_a),fun(list(X_c),bool)),list_all2(X_a,X_c),P3),As),Cs))))).
% 46.88/45.89  all X_a N_1 exists Xs_2 (hAPP(list(X_a),nat,size_size(list(X_a)),Xs_2)=N_1).
% 46.88/45.89  all X_a X_b Y (-(all A_5 B_1 (ti(product_prod(X_a,X_b),Y)!=hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_5),B_1)))).
% 46.88/45.89  all X_a X_b P_2 (-(all X_2 Y_2 (ti(product_prod(X_a,X_b),P_2)!=hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X_2),Y_2)))).
% 46.88/45.89  all X_a T_1 Pa Ha V_2 Ta (hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Ha),V_2),Ta))-> (hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa),Ta),T_1))->hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Ha),V_2),T_1)))).
% 46.88/45.89  all X_a Pa Ha V_2 Ta (hAPP(val,option(ty),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,option(ty)),typeof_h,Ha),V_2)=hAPP(ty,option(ty),some(ty),Ta)->hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Ha),V_2),Ta))).
% 46.88/45.89  all X_a Ts_1 Pa Ha Vsa Tsa (hBOOL(hAPP(list(ty),bool,hAPP(list(val),fun(list(ty),bool),hAPP(fun(val,fun(ty,bool)),fun(list(val),fun(list(ty),bool)),list_all2(val,ty),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Ha)),Vsa),Tsa))-> (hBOOL(hAPP(list(ty),bool,hAPP(list(ty),fun(list(ty),bool),hAPP(fun(ty,fun(ty,bool)),fun(list(ty),fun(list(ty),bool)),list_all2(ty,ty),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa)),Tsa),Ts_1))->hBOOL(hAPP(list(ty),bool,hAPP(list(val),fun(list(ty),bool),hAPP(fun(val,fun(ty,bool)),fun(list(val),fun(list(ty),bool)),list_all2(val,ty),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Ha)),Vsa),Ts_1)))).
% 46.88/45.89  all X_a Pa Ha V_2 Ta (hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Ha),V_2),Ta))<-> (exists T_6 (hAPP(val,option(ty),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,option(ty)),typeof_h,Ha),V_2)=hAPP(ty,option(ty),some(ty),T_6)&hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa),T_6),Ta))))).
% 46.88/45.89  all X_a X_b Pa ((exists X1 hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,X1)))<-> (exists A_5 B_1 hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_5),B_1))))).
% 46.88/45.89  all X_b X_c X_a C_5 A_3 B (hAPP(product_prod(X_b,X_c),X_a,hAPP(fun(X_b,fun(X_c,X_a)),fun(product_prod(X_b,X_c),X_a),produc1605651328_split(X_b,X_c,X_a),C_5),hAPP(X_c,product_prod(X_b,X_c),hAPP(X_b,fun(X_c,product_prod(X_b,X_c)),product_Pair(X_b,X_c),A_3),B))=hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),C_5,A_3),B)).
% 46.88/45.89  all X_a H_1 Pa Ha Vsa Tsa (hBOOL(hAPP(list(ty),bool,hAPP(list(val),fun(list(ty),bool),hAPP(fun(val,fun(ty,bool)),fun(list(val),fun(list(ty),bool)),list_all2(val,ty),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Ha)),Vsa),Tsa))-> (hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Ha),H_1))->hBOOL(hAPP(list(ty),bool,hAPP(list(val),fun(list(ty),bool),hAPP(fun(val,fun(ty,bool)),fun(list(val),fun(list(ty),bool)),list_all2(val,ty),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),H_1)),Vsa),Tsa)))).
% 46.88/45.89  all Pa Ea Ha L_1 E_1 H_1 L_2 Vsa Ps Tsa (hAPP(list(list(char)),nat,size_size(list(list(char))),Ps)=hAPP(list(ty),nat,size_size(list(ty)),Tsa)-> (hAPP(list(list(char)),nat,size_size(list(list(char))),Ps)=hAPP(list(val),nat,size_size(list(val)),Vsa)-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),Ps),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),Tsa),hAPP(exp(list(char)),product_prod(list(val),exp(list(char))),hAPP(list(val),fun(exp(list(char)),product_prod(list(val),exp(list(char)))),product_Pair(list(val),exp(list(char))),Vsa),Ea))))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1)),E_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_2)))-> (exists L_4 hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),hAPP(list(val),fun(list(char),option(val)),hAPP(list(list(char)),fun(list(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(list(char)),fun(list(val),fun(list(char),option(val)))),map_upds(list(char),val),L_1),Ps),Vsa))),E_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_4))))))).
% 46.88/45.89  all X_a A_3 A_2 (hAPP(X_a,option(X_a),some(X_a),A_3)=hAPP(X_a,option(X_a),some(X_a),A_2)<->ti(X_a,A_3)=ti(X_a,A_2)).
% 46.88/45.89  all X_a X_b F_1 A_3 B (hBOOL(hAPP(product_prod(X_a,X_b),bool,F_1,hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_3),B)))->hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),product_curry(X_a,X_b,bool),F_1),A_3),B))).
% 46.88/45.89  all Pa Ha E Vsa Tsa (hBOOL(hAPP(list(ty),bool,hAPP(list(exp(list(char))),fun(list(ty),bool),hAPP(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)))),wTrts,Pa),Ha),E),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vsa)),Tsa))<->hAPP(list(val),list(option(ty)),hAPP(fun(val,option(ty)),fun(list(val),list(option(ty))),map(val,option(ty)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,option(ty)),typeof_h,Ha)),Vsa)=hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),Tsa)).
% 46.88/45.89  all X_a Pa Ha Ta hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Ha),hAPP(ty,val,default_val,Ta)),Ta)).
% 46.88/45.89  all Ha L_1 Pa Ea Vsa Vsa_1 Tsa (hAPP(list(list(char)),nat,size_size(list(list(char))),Vsa_1)=hAPP(list(ty),nat,size_size(list(ty)),Tsa)-> (hAPP(list(val),nat,size_size(list(val)),Vsa)=hAPP(list(ty),nat,size_size(list(ty)),Tsa)-> (hBOOL(hAPP(exp(list(char)),bool,final(list(char)),Ea))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),Vsa_1),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),Tsa),hAPP(exp(list(char)),product_prod(list(val),exp(list(char))),hAPP(list(val),fun(exp(list(char)),product_prod(list(val),exp(list(char)))),product_Pair(list(val),exp(list(char))),Vsa),Ea))))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))))).
% 46.88/45.89  all Pa E Ha V_2 Ta (hAPP(val,option(ty),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,option(ty)),typeof_h,Ha),V_2)=hAPP(ty,option(ty),some(ty),Ta)->hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),Ta))).
% 46.88/45.89  all H_1 Pa Ha E Es Tsa (hBOOL(hAPP(list(ty),bool,hAPP(list(exp(list(char))),fun(list(ty),bool),hAPP(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)))),wTrts,Pa),Ha),E),Es),Tsa))-> (hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Ha),H_1))->hBOOL(hAPP(list(ty),bool,hAPP(list(exp(list(char))),fun(list(ty),bool),hAPP(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)))),wTrts,Pa),H_1),E),Es),Tsa)))).
% 46.88/45.89  all H_1 Pa Ha E Ea Ta (hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),Ea),Ta))-> (hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Ha),H_1))->hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),H_1),E),Ea),Ta)))).
% 46.88/45.89  all Pa Ha E Es Tsa (hBOOL(hAPP(list(ty),bool,hAPP(list(exp(list(char))),fun(list(ty),bool),hAPP(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)))),wTrts,Pa),Ha),E),Es),Tsa))->hAPP(list(exp(list(char))),nat,size_size(list(exp(list(char)))),Es)=hAPP(list(ty),nat,size_size(list(ty)),Tsa)).
% 46.88/45.89  all X_a Pa V_2 Ta Ha H_1 (hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Ha),H_1))-> (hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Ha),V_2),Ta))->hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),H_1),V_2),Ta)))).
% 46.88/45.89  all X_b X_a F_1 A_3 B (hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),product_curry(X_a,X_b,bool),F_1),A_3),B))->hBOOL(hAPP(product_prod(X_a,X_b),bool,F_1,hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_3),B)))).
% 46.88/45.89  all X_b X_a F_1 A_3 B (hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),product_curry(X_a,X_b,bool),F_1),A_3),B))->hBOOL(hAPP(product_prod(X_a,X_b),bool,F_1,hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_3),B)))).
% 46.88/45.89  all X_c X_a X_b F_1 A_3 B (hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),hAPP(fun(product_prod(X_b,X_c),X_a),fun(X_b,fun(X_c,X_a)),product_curry(X_b,X_c,X_a),F_1),A_3),B)=hAPP(product_prod(X_b,X_c),X_a,F_1,hAPP(X_c,product_prod(X_b,X_c),hAPP(X_b,fun(X_c,product_prod(X_b,X_c)),product_Pair(X_b,X_c),A_3),B))).
% 46.88/45.89  all Ea Ha L_1 E_1 H_1 L_2 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_2)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))->hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Ha),H_1))).
% 46.88/45.89  all X_a A_3 R hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_3),A_3)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R))).
% 46.88/45.89  all V_2 Ta Ha H_1 (hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Ha),H_1))-> (hAPP(val,option(ty),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,option(ty)),typeof_h,Ha),V_2)=hAPP(ty,option(ty),some(ty),Ta)->hAPP(val,option(ty),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,option(ty)),typeof_h,H_1),V_2)=hAPP(ty,option(ty),some(ty),Ta))).
% 46.88/45.89  all Pa Ea Ha L_1 E_1 H_1 L_2 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1)),E_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_2)))->hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Ha),H_1))).
% 46.88/45.89  all Ha hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Ha),Ha)).
% 46.88/45.89  all X_a P_1 R (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),P_1),R))->hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),P_1),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R)))).
% 46.88/45.89  all E Ta Ea Ha L_1 E_1 H_1 L_2 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_2)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))-> (hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),Ea),Ta))-> (hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),Pa),Ha))->hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),Pa),H_1))))).
% 46.88/45.89  all Pa S Ea (hBOOL(hAPP(exp(list(char)),bool,final(list(char)),Ea))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S),Ea),S))).
% 46.88/45.89  all Pa Ea S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S),E_1),S_1))->hBOOL(hAPP(exp(list(char)),bool,final(list(char)),E_1))).
% 46.88/45.89  all E Ta Ea Ha L_1 E_1 H_1 L_2 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_2)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))-> (hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),Ea),Ta))-> (hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),Pa),Ha),L_1),E))->hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),Pa),H_1),L_2),E))))).
% 46.88/45.89  all X_a H_1 Pa Ha L_1 E (hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(X_a),Pa),Ha),L_1),E))-> (hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Ha),H_1))->hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(X_a),Pa),H_1),L_1),E)))).
% 46.88/45.89  all X_a R (hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R))=hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R)).
% 46.88/45.89  all H_3 Ha H_1 (hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Ha),H_1))-> (hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,H_1),H_3))->hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Ha),H_3)))).
% 46.88/45.89  all X_a C_5 A_3 B R (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_3),B)),R))-> (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),B),C_5)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R)))->hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_3),C_5)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R))))).
% 46.88/45.89  all X_a C_5 A_3 B R (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_3),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R)))-> (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),B),C_5)),R))->hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_3),C_5)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R))))).
% 46.88/45.89  all X_a C_5 A_3 B R (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_3),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R)))-> (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),B),C_5)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R)))->hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_3),C_5)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R))))).
% 46.88/45.89  all Pa V_2 S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S),E_1),S_1))-> -(E_1=hAPP(val,exp(list(char)),val_1(list(char)),V_2)->S_1!=S)).
% 46.88/45.89  all Pa V_2 S hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S)).
% 46.88/45.89  all X_a Pa Ha L_1 E (hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(X_a),Pa),Ha),L_1),E))<-> (all V_3 V_1 (hAPP(list(char),option(val),L_1,V_3)=hAPP(val,option(val),some(val),V_1)-> (exists T_5 (hAPP(list(char),option(ty),E,V_3)=hAPP(ty,option(ty),some(ty),T_5)&hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Ha),V_1),T_5))))))).
% 46.88/45.89  all X_a X_b Xa_1 Xb Za Zb R (hBOOL(hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool,hAPP(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),fun(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool),member(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),hAPP(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_Pair(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Xa_1),Xb)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Za),Zb))),hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),transitive_rtrancl(product_prod(X_a,X_b)),R)))-> (hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Xa_1),Xb)!=hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Za),Zb)-> -(all A_5 B_1 (hBOOL(hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool,hAPP(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),fun(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool),member(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),hAPP(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_Pair(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Xa_1),Xb)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_5),B_1))),R))-> -hBOOL(hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool,hAPP(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),fun(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool),member(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),hAPP(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_Pair(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_5),B_1)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Za),Zb))),hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),transitive_rtrancl(product_prod(X_a,X_b)),R))))))).
% 46.88/45.89  all X_a X_b Pa Ax Ay Bx By R (hBOOL(hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool,hAPP(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),fun(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool),member(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),hAPP(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_Pair(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Ax),Ay)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Bx),By))),hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),transitive_rtrancl(product_prod(X_a,X_b)),R)))-> (hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Bx),By))-> ((all A_5 B_1 Aa Ba (hBOOL(hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool,hAPP(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),fun(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool),member(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),hAPP(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_Pair(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_5),B_1)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Aa),Ba))),R))-> (hBOOL(hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool,hAPP(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),fun(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool),member(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),hAPP(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_Pair(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Aa),Ba)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Bx),By))),hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),transitive_rtrancl(product_prod(X_a,X_b)),R)))-> (hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Aa),Ba))->hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,A_5),B_1))))))->hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Ax),Ay))))).
% 46.88/45.89  all X_a X_b Pa Ax Ay Bx By R (hBOOL(hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool,hAPP(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),fun(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool),member(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),hAPP(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_Pair(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Ax),Ay)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Bx),By))),hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),transitive_rtrancl(product_prod(X_a,X_b)),R)))-> (hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Ax),Ay))-> ((all A_5 B_1 Aa Ba (hBOOL(hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool,hAPP(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),fun(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool),member(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),hAPP(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_Pair(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Ax),Ay)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_5),B_1))),hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),transitive_rtrancl(product_prod(X_a,X_b)),R)))-> (hBOOL(hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool,hAPP(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),fun(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool),member(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),hAPP(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_Pair(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_5),B_1)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Aa),Ba))),R))-> (hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,A_5),B_1))->hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Aa),Ba))))))->hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Bx),By))))).
% 46.88/45.89  all X_a A_3 B R (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_3),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R)))-> (ti(X_a,A_3)!=ti(X_a,B)-> -(all Y_2 (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_3),Y_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R)))-> -hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Y_2),B)),R)))))).
% 46.88/45.89  all X_a X_1 Z_1 R (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Z_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R)))-> (ti(X_a,X_1)!=ti(X_a,Z_1)-> -(all Y_2 (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_2)),R))-> -hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Y_2),Z_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R))))))).
% 46.88/45.89  all X_a Pa A_3 B R (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_3),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R)))-> (hBOOL(hAPP(X_a,bool,Pa,B))-> ((all Y_2 Z (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Y_2),Z)),R))-> (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Z),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R)))-> (hBOOL(hAPP(X_a,bool,Pa,Z))->hBOOL(hAPP(X_a,bool,Pa,Y_2))))))->hBOOL(hAPP(X_a,bool,Pa,A_3))))).
% 46.88/45.89  all X_a X_b F_1 G ((all X_2 (hAPP(X_a,X_b,F_1,X_2)=hAPP(X_a,X_b,G,X_2)))->ti(fun(X_a,X_b),F_1)=ti(fun(X_a,X_b),G)).
% 46.88/45.89  all X_a X_1 A_6 (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_6))<->hBOOL(hAPP(X_a,bool,A_6,X_1))).
% 46.88/45.89  all X_a Pa A_3 B R (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_3),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R)))-> (hBOOL(hAPP(X_a,bool,Pa,A_3))-> ((all Y_2 Z (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_3),Y_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R)))-> (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Y_2),Z)),R))-> (hBOOL(hAPP(X_a,bool,Pa,Y_2))->hBOOL(hAPP(X_a,bool,Pa,Z))))))->hBOOL(hAPP(X_a,bool,Pa,B))))).
% 46.88/45.89  all L_3 Ea Ha L_1 E_1 H_1 L_2 Pa Vsa Vsa_1 Tsa (hAPP(list(list(char)),nat,size_size(list(list(char))),Vsa_1)=hAPP(list(ty),nat,size_size(list(ty)),Tsa)-> (hAPP(list(val),nat,size_size(list(val)),Vsa)=hAPP(list(ty),nat,size_size(list(ty)),Tsa)-> (hBOOL(hAPP(list(list(char)),bool,distinct(list(char)),Vsa_1))-> (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),hAPP(list(val),fun(list(char),option(val)),hAPP(list(list(char)),fun(list(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(list(char)),fun(list(val),fun(list(char),option(val)))),map_upds(list(char),val),L_1),Vsa_1),Vsa)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_2)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hBOOL(hAPP(exp(list(char)),bool,final(list(char)),E_1))-> (L_3=hAPP(fun(list(char),bool),fun(list(char),option(val)),hAPP(fun(list(char),option(val)),fun(fun(list(char),bool),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(fun(list(char),option(val)),fun(fun(list(char),bool),fun(list(char),option(val)))),override_on(list(char),option(val)),L_2),L_1),hAPP(list(list(char)),fun(list(char),bool),set(list(char)),Vsa_1))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),Vsa_1),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),Tsa),hAPP(exp(list(char)),product_prod(list(val),exp(list(char))),hAPP(list(val),fun(exp(list(char)),product_prod(list(val),exp(list(char)))),product_Pair(list(val),exp(list(char))),Vsa),Ea))))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_3)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))))))))).
% 46.88/45.89  all X_b X_a F_1 Xs G (hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F_1),Xs)=hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),G),Xs)<-> (all X_2 (hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_2),hAPP(list(X_b),fun(X_b,bool),set(X_b),Xs)))->hAPP(X_b,X_a,F_1,X_2)=hAPP(X_b,X_a,G,X_2)))).
% 46.88/45.89  all Ea Ha L_1 E_1 H_1 L_2 Pa Vsa Vsa_1 Tsa (hAPP(list(list(char)),nat,size_size(list(list(char))),Vsa_1)=hAPP(list(ty),nat,size_size(list(ty)),Tsa)-> (hAPP(list(val),nat,size_size(list(val)),Vsa)=hAPP(list(ty),nat,size_size(list(ty)),Tsa)-> (hBOOL(hAPP(list(list(char)),bool,distinct(list(char)),Vsa_1))-> (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),hAPP(list(val),fun(list(char),option(val)),hAPP(list(list(char)),fun(list(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(list(char)),fun(list(val),fun(list(char),option(val)))),map_upds(list(char),val),L_1),Vsa_1),Vsa)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_2)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),Vsa_1),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),Tsa),hAPP(exp(list(char)),product_prod(list(val),exp(list(char))),hAPP(list(val),fun(exp(list(char)),product_prod(list(val),exp(list(char)))),product_Pair(list(val),exp(list(char))),Vsa),Ea))))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),Vsa_1),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),Tsa),hAPP(exp(list(char)),product_prod(list(val),exp(list(char))),hAPP(list(val),fun(exp(list(char)),product_prod(list(val),exp(list(char)))),product_Pair(list(val),exp(list(char))),hAPP(list(list(char)),list(val),hAPP(fun(list(char),val),fun(list(list(char)),list(val)),map(list(char),val),hAPP(fun(list(char),option(val)),fun(list(char),val),hAPP(fun(option(val),val),fun(fun(list(char),option(val)),fun(list(char),val)),comp(option(val),val,list(char)),the(val)),L_2)),Vsa_1)),E_1))))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),hAPP(fun(list(char),bool),fun(list(char),option(val)),hAPP(fun(list(char),option(val)),fun(fun(list(char),bool),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(fun(list(char),option(val)),fun(fun(list(char),bool),fun(list(char),option(val)))),override_on(list(char),option(val)),L_2),L_1),hAPP(list(list(char)),fun(list(char),bool),set(list(char)),Vsa_1)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))))))).
% 46.88/45.89  all X_b X_a F_1 G Xs Ys (Xs=Ys-> ((all X_2 (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys)))->hAPP(X_a,X_b,F_1,X_2)=hAPP(X_a,X_b,G,X_2)))->hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),F_1),Xs)=hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),G),Ys))).
% 46.88/45.89  all X_a F_1 Xs ((all X_2 (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))->hAPP(X_a,X_a,F_1,X_2)=ti(X_a,X_2)))->hAPP(list(X_a),list(X_a),hAPP(fun(X_a,X_a),fun(list(X_a),list(X_a)),map(X_a,X_a),F_1),Xs)=Xs).
% 46.88/45.89  all X_b X_a F_1 G Xs ((all X_2 (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))->hAPP(X_a,X_b,F_1,X_2)=hAPP(X_a,X_b,G,X_2)))->hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),F_1),Xs)=hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),G),Xs)).
% 46.88/45.89  all X_a X_b Ys F_1 ((exists Xs_2 (Ys=hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),F_1),Xs_2)))<-> (all X_2 (hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_2),hAPP(list(X_b),fun(X_b,bool),set(X_b),Ys)))-> (exists Xa (ti(X_b,X_2)=hAPP(X_a,X_b,F_1,Xa)))))).
% 46.88/45.89  all X_b X_a F_1 Ys X_1 Xs (-hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))->hAPP(X_a,option(X_b),hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),F_1),Xs),Ys),X_1)=hAPP(X_a,option(X_b),F_1,X_1)).
% 46.88/45.89  all L_0 Ea Ha L_1 E_1 H_1 L_2 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_2)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),hAPP(fun(list(char),option(val)),fun(list(char),option(val)),hAPP(fun(list(char),option(val)),fun(fun(list(char),option(val)),fun(list(char),option(val))),map_add(list(char),val),L_0),L_1)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),hAPP(fun(list(char),option(val)),fun(list(char),option(val)),hAPP(fun(list(char),option(val)),fun(fun(list(char),option(val)),fun(list(char),option(val))),map_add(list(char),val),L_0),L_2))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.89  all Ha H_1 (hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Ha),H_1))<-> (all A_5 C_1 Fs_1 (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Ha,A_5)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C_1),Fs_1))-> (exists Fs_3 (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_1,A_5)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C_1),Fs_3))))))).
% 46.88/45.89  all X_a X_c X_b F_1 G (hAPP(fun(list(X_a),list(X_c)),fun(list(X_a),list(X_b)),hAPP(fun(list(X_c),list(X_b)),fun(fun(list(X_a),list(X_c)),fun(list(X_a),list(X_b))),comp(list(X_c),list(X_b),list(X_a)),hAPP(fun(X_c,X_b),fun(list(X_c),list(X_b)),map(X_c,X_b),F_1)),hAPP(fun(X_a,X_c),fun(list(X_a),list(X_c)),map(X_a,X_c),G))=hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),hAPP(fun(X_a,X_c),fun(X_a,X_b),hAPP(fun(X_c,X_b),fun(fun(X_a,X_c),fun(X_a,X_b)),comp(X_c,X_b,X_a),F_1),G))).
% 46.88/45.89  all X_a X_c X_b F_1 G (hAPP(fun(list(X_a),list(X_c)),fun(list(X_a),list(X_b)),hAPP(fun(list(X_c),list(X_b)),fun(fun(list(X_a),list(X_c)),fun(list(X_a),list(X_b))),comp(list(X_c),list(X_b),list(X_a)),hAPP(fun(X_c,X_b),fun(list(X_c),list(X_b)),map(X_c,X_b),F_1)),hAPP(fun(X_a,X_c),fun(list(X_a),list(X_c)),map(X_a,X_c),G))=hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),hAPP(fun(X_a,X_c),fun(X_a,X_b),hAPP(fun(X_c,X_b),fun(fun(X_a,X_c),fun(X_a,X_b)),comp(X_c,X_b,X_a),F_1),G))).
% 46.88/45.89  all X_a X_b M1 M2 M3 (hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),M1),hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),M2),M3))=hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),M1),M2)),M3)).
% 46.88/45.89  all X_b X_a M_1 N K Xx (hAPP(X_b,option(X_a),N,K)=hAPP(X_a,option(X_a),some(X_a),Xx)->hAPP(X_b,option(X_a),hAPP(fun(X_b,option(X_a)),fun(X_b,option(X_a)),hAPP(fun(X_b,option(X_a)),fun(fun(X_b,option(X_a)),fun(X_b,option(X_a))),map_add(X_b,X_a),M_1),N),K)=hAPP(X_a,option(X_a),some(X_a),Xx)).
% 46.88/45.89  all X_a X_b M1 M2 Xs Ys (hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),M1),hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),M2),Xs),Ys))=hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),M1),M2)),Xs),Ys)).
% 46.88/45.89  all X_b X_a X_c F_1 G Xs (hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F_1),hAPP(list(X_c),list(X_b),hAPP(fun(X_c,X_b),fun(list(X_c),list(X_b)),map(X_c,X_b),G),Xs))=hAPP(list(X_c),list(X_a),hAPP(fun(X_c,X_a),fun(list(X_c),list(X_a)),map(X_c,X_a),hAPP(fun(X_c,X_b),fun(X_c,X_a),hAPP(fun(X_b,X_a),fun(fun(X_c,X_b),fun(X_c,X_a)),comp(X_b,X_a,X_c),F_1),G)),Xs)).
% 46.88/45.89  all X_b X_a X_c F_1 G List_3 (hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F_1),hAPP(list(X_c),list(X_b),hAPP(fun(X_c,X_b),fun(list(X_c),list(X_b)),map(X_c,X_b),G),List_3))=hAPP(list(X_c),list(X_a),hAPP(fun(X_c,X_a),fun(list(X_c),list(X_a)),map(X_c,X_a),hAPP(fun(X_c,X_b),fun(X_c,X_a),hAPP(fun(X_b,X_a),fun(fun(X_c,X_b),fun(X_c,X_a)),comp(X_b,X_a,X_c),F_1),G)),List_3)).
% 46.88/45.89  all X_a X (hAPP(option(X_a),X_a,the(X_a),hAPP(X_a,option(X_a),some(X_a),X))=ti(X_a,X)).
% 46.88/45.89  all L_0 Ea Ha L_1 E_1 H_1 L_2 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_2)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),hAPP(fun(list(char),option(val)),fun(list(char),option(val)),hAPP(fun(list(char),option(val)),fun(fun(list(char),option(val)),fun(list(char),option(val))),map_add(list(char),val),L_0),L_1)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),hAPP(fun(list(char),option(val)),fun(list(char),option(val)),hAPP(fun(list(char),option(val)),fun(fun(list(char),option(val)),fun(list(char),option(val))),map_add(list(char),val),L_0),L_2))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))).
% 46.88/45.89  all A_3 C Fs Ha H_1 (hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Ha),H_1))-> (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Ha,A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),Fs))-> (exists Fs_3 (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_1,A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),Fs_3)))))).
% 46.88/45.89  all H_1 Ha ((all A_5 C_1 Fs_1 (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Ha,A_5)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C_1),Fs_1))-> (exists Fs_3 (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_1,A_5)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C_1),Fs_3))))))->hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Ha),H_1))).
% 46.88/45.89  all C V E_2_1 Ea S V_2 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),Ea),C),V),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.89  all E Tsa Es Ha L_1 Es_1 H_1 L_2 Pa (hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_2)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))-> (hBOOL(hAPP(list(ty),bool,hAPP(list(exp(list(char))),fun(list(ty),bool),hAPP(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)))),wTrts,Pa),Ha),E),Es),Tsa))-> (hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),Pa),Ha),L_1),E))->hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(product_prod(list(list(char)),exp(list(char)))),Pa),H_1),L_2),E))))).
% 46.88/45.89  all E Tsa Es Ha L_1 Es_1 H_1 L_2 Pa (hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_2)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))-> (hBOOL(hAPP(list(ty),bool,hAPP(list(exp(list(char))),fun(list(ty),bool),hAPP(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)))),wTrts,Pa),Ha),E),Es),Tsa))-> (hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),Pa),Ha))->hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(product_prod(list(list(char)),exp(list(char)))),Pa),H_1))))).
% 46.88/45.90  all V_2 Bop_2 Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),Bop_2),Ea)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),Bop_2),E_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.90  all V_2 F D Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),F),D),Ea)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),F),D),E_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.90  all E_2_1 E_2_2 S_2 E_1_1 S_0 V_1_1 S_1_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),S_1_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2_1),S_1_1)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2_2),S_2))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),se_q(list(char)),E_1_1),E_2_1)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2_2),S_2))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))))).
% 46.88/45.90  all E_2_1 T_2_1 Pa Ha E E_1_1 T_1_2 (hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),E_1_1),T_1_2))-> (hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),E_2_1),T_2_1))->hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),se_q(list(char)),E_1_1),E_2_1)),T_2_1)))).
% 46.88/45.90  all E_1_1 E_2_1 S_2 Pa E_0 S_0 V_2 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_0),S_0),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S_1_1))-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_1_1),E_2_1),S_2))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),se_q(list(char)),E_0),E_1_1)),S_0),E_2_1),S_2)))).
% 46.88/45.90  all C V E_2_1 Pa E_1_1 S_0 V_1_1 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_0),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),S_1_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C),V),E_2_1)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),S_1_1))).
% 46.88/45.90  all E_2_1 Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),se_q(list(char)),Ea),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),se_q(list(char)),E_1),E_2_1)),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))).
% 46.88/45.90  all F D E_2_1 Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),Ea),F),D),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1),F),D),E_2_1)),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))).
% 46.88/45.90  all Bop_2 E_2_1 Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),Ea),Bop_2),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1),Bop_2),E_2_1)),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))).
% 46.88/45.90  all Es Ha L_1 Es_1 H_1 L_2 Pa (hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_2)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))->hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Ha),H_1))).
% 46.88/45.90  all C V E_2_1 Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),Ea),C),V),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1),C),V),E_2_1)),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))).
% 46.88/45.90  all V_2 E_2_1 S Pa hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),se_q(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2_1),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))).
% 46.88/45.90  all E_2_1 Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),se_q(list(char)),Ea),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),se_q(list(char)),E_1),E_2_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.90  all V_2 F D Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),F),D),Ea)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),F),D),E_1)),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))).
% 46.88/45.90  all V_1_1 Bop_2 Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),Bop_2),Ea)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),Bop_2),E_1)),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))).
% 46.88/45.90  all F D E_2_1 Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),Ea),F),D),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1),F),D),E_2_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.90  all Bop_2 E_2_1 Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),Ea),Bop_2),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1),Bop_2),E_2_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.90  all V_2 C V E_2_1 S Pa hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),C),V),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))).
% 46.88/45.90  all C V E_2_1 Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),Ea),C),V),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1),C),V),E_2_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.90  all Bop_2 V_2 E_2_1 V_2_1 S_2 E_1_1 S_0 V_1_1 S_1_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),S_1_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2_1),S_1_1)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_2_1)),S_2))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),Bop_2),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_1),V_2_1)))=hAPP(val,option(val),some(val),V_2)->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2_1)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S_2))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))))).
% 46.88/45.90  all S Pa Bop_2 V_1_1 V_2_1 V_2 (hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),Bop_2),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_1),V_2_1)))=hAPP(val,option(val),some(val),V_2)->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),Bop_2),hAPP(val,exp(list(char)),val_1(list(char)),V_2_1))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))).
% 46.88/45.90  all V_2 M Es S Es_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_1),S_1))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),M),Es)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),M),Es_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.90  all Es Es_1 S_2 Ea S_0 V_2 S_1_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S_1_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es),S_1_1)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_1),S_2))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Ea),Es)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),Es_1)),S_2))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))))).
% 46.88/45.90  all X_a Exp1 Bop Exp2 Exp1_1 List A_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop),Exp2)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)).
% 46.88/45.90  all X_a Exp1_1 List A_1 Exp2_1 Exp1 Bop Exp2 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop),Exp2)).
% 46.88/45.90  all X_a Exp1 List1 List2 Exp2 Exp1_1 List A_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1),List2),Exp2)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)).
% 46.88/45.90  all X_a Val Exp List1_1 List2_1 (hAPP(val,exp(X_a),val_1(X_a),Val)!=hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1_1),List2_1)).
% 46.88/45.90  all X_a Exp List1_1 List2_1 Val (hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1_1),List2_1)!=hAPP(val,exp(X_a),val_1(X_a),Val)).
% 46.88/45.90  all X_a Xs_1 X (Xs_1!=hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1)).
% 46.88/45.90  all X_a X Xs_1 (hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1)!=Xs_1).
% 46.88/45.90  all X_a A_3 List_3 A_2 List_2 (hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_3),List_3)=hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_2),List_2)<->ti(X_a,A_3)=ti(X_a,A_2)&List_3=List_2).
% 46.88/45.90  all X_a Exp_2 List1_3 List2_3 Exp_1 List1_2 List2_2 (hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_2),List1_3),List2_3)=hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_2),List2_2)<->Exp_2=Exp_1&List1_3=List1_2&List2_3=List2_2).
% 46.88/45.90  all X_a Exp_3 List1 List2 Exp1_1 Exp2_1 (hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_3),List1),List2)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1_1),Exp2_1)).
% 46.88/45.90  all X_a Exp1_1 Exp2_1 Exp_3 List1 List2 (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1_1),Exp2_1)!=hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_3),List1),List2)).
% 46.88/45.90  all X_a Exp1 List1 List2 Exp2 Exp List1_1 List2_1 (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1),List2),Exp2)!=hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1_1),List2_1)).
% 46.88/45.90  all X_a Exp List1_1 List2_1 Exp1 List1 List2 Exp2 (hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1_1),List2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1),List2),Exp2)).
% 46.88/45.90  all X_a Exp1 Bop Exp2 Exp List1_1 List2_1 (hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop),Exp2)!=hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1_1),List2_1)).
% 46.88/45.90  all X_a Exp List1_1 List2_1 Exp1 Bop Exp2 (hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1_1),List2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop),Exp2)).
% 46.88/45.90  all X_a Exp1_1 List A_1 Exp2_1 Exp_3 List1 List2 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)!=hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_3),List1),List2)).
% 46.88/45.90  all X_a Exp_3 List1 List2 Exp1_1 List A_1 Exp2_1 (hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_3),List1),List2)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)).
% 46.88/45.90  all X_a Y_1 X_1 Xs (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Y_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs))))->ti(X_a,Y_1)=ti(X_a,X_1)|hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Y_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))).
% 46.88/45.90  all X_b X_a F_1 X_1 Xs (hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F_1),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),X_1),Xs))=hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),hAPP(X_b,X_a,F_1,X_1)),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F_1),Xs))).
% 46.88/45.90  all X_b X_a Pa X_1 Xs Y_1 Ys (hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs)),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Y_1),Ys)))<->hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,X_1),Y_1))&hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs),Ys))).
% 46.88/45.90  all X_a X_1 Xs (hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs)))<-> -hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))&hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs))).
% 46.88/45.90  all M Es Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Ea),M),Es)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),E_1),M),Es)),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))).
% 46.88/45.90  all X_a Val_3 Val_2 (hAPP(val,exp(X_a),val_1(X_a),Val_3)=hAPP(val,exp(X_a),val_1(X_a),Val_2)<->Val_3=Val_2).
% 46.88/45.90  all X_a Exp1_3 Exp2_3 Exp1_2 Exp2_2 (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1_3),Exp2_3)=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1_2),Exp2_2)<->Exp1_3=Exp1_2&Exp2_3=Exp2_2).
% 46.88/45.90  all X_a Exp1_3 List1_3 List2_3 Exp2_3 Exp1_2 List1_2 List2_2 Exp2_2 (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_3),List1_3),List2_3),Exp2_3)=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_2),List1_2),List2_2),Exp2_2)<->Exp1_3=Exp1_2&List1_3=List1_2&List2_3=List2_2&Exp2_3=Exp2_2).
% 46.88/45.90  all X_a Exp1_3 Bop_2 Exp2_3 Exp1_2 Bop_3 Exp2_2 (hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_3),Bop_2),Exp2_3)=hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_2),Bop_3),Exp2_2)<->Exp1_3=Exp1_2&ti(bop,Bop_2)=ti(bop,Bop_3)&Exp2_3=Exp2_2).
% 46.88/45.90  all X_a Exp1_3 List_3 A_3 Exp2_3 Exp1_2 List_2 A_2 Exp2_2 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_3),List_3),A_3),Exp2_3)=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_2),List_2),A_2),Exp2_2)<->Exp1_3=Exp1_2&List_3=List_2&ti(X_a,A_3)=ti(X_a,A_2)&Exp2_3=Exp2_2).
% 46.88/45.90  all M Es Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Ea),M),Es)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),E_1),M),Es)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.90  all V_2 Es S Es_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_1),S_1))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),Es)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),Es_1)),S_1))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))).
% 46.88/45.91  all V_2 Es S Es_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_1),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))->hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),Es)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),Es_1)),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))).
% 46.88/45.91  all Es Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))->hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Ea),Es)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),E_1),Es)),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))).
% 46.88/45.91  all Bop_2 V_2 E_2_1 V_2_1 S_2 Pa E_1_1 S_0 V_1_1 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_0),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),S_1_1))-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2_1),S_1_1),hAPP(val,exp(list(char)),val_1(list(char)),V_2_1)),S_2))-> (hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),Bop_2),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_1),V_2_1)))=hAPP(val,option(val),some(val),V_2)->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2_1)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S_2))))).
% 46.88/45.91  all X_a Exp1_1 Exp2_1 Val (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1_1),Exp2_1)!=hAPP(val,exp(X_a),val_1(X_a),Val)).
% 46.88/45.91  all X_a Val Exp1_1 Exp2_1 (hAPP(val,exp(X_a),val_1(X_a),Val)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1_1),Exp2_1)).
% 46.88/45.91  all X_a Exp1_1 List1_1 List2_1 Exp2_1 Val (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1_1),List2_1),Exp2_1)!=hAPP(val,exp(X_a),val_1(X_a),Val)).
% 46.88/45.91  all X_a Val Exp1_1 List1_1 List2_1 Exp2_1 (hAPP(val,exp(X_a),val_1(X_a),Val)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1_1),List2_1),Exp2_1)).
% 46.88/45.91  all X_a Exp1_1 Bop_1 Exp2_1 Val (hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop_1),Exp2_1)!=hAPP(val,exp(X_a),val_1(X_a),Val)).
% 46.88/45.91  all X_a Val Exp1_1 Bop_1 Exp2_1 (hAPP(val,exp(X_a),val_1(X_a),Val)!=hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop_1),Exp2_1)).
% 46.88/45.91  all X_a Exp1_1 List A_1 Exp2_1 Val (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)!=hAPP(val,exp(X_a),val_1(X_a),Val)).
% 46.88/45.91  all X_a Val Exp1_1 List A_1 Exp2_1 (hAPP(val,exp(X_a),val_1(X_a),Val)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)).
% 46.88/45.91  all V_2 M Es S Es_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_1),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),M),Es)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),M),Es_1)),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))).
% 46.88/45.91  all Es Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Ea),Es)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),E_1),Es)),S_1))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))).
% 46.88/45.91  all X_a Exp1 List1 List2 Exp2 Exp1_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1),List2),Exp2)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1_1),Exp2_1)).
% 46.88/45.91  all X_a Exp1_1 Exp2_1 Exp1 List1 List2 Exp2 (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1),List2),Exp2)).
% 46.88/45.91  all X_a Exp1 Bop Exp2 Exp1_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop),Exp2)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1_1),Exp2_1)).
% 46.88/45.91  all X_a Exp1_1 Exp2_1 Exp1 Bop Exp2 (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop),Exp2)).
% 46.88/45.91  all X_a Exp1_1 List1_1 List2_1 Exp2_1 Exp1 Bop Exp2 (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1_1),List2_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop),Exp2)).
% 46.88/45.91  all X_a Exp1 Bop Exp2 Exp1_1 List1_1 List2_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop),Exp2)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1_1),List2_1),Exp2_1)).
% 46.88/45.91  all X_a Exp1_1 List A_1 Exp2_1 Exp1 Exp2 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1),Exp2)).
% 46.88/45.91  all X_a Exp1 Exp2 Exp1_1 List A_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1),Exp2)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)).
% 46.88/45.91  all X_a Exp1_1 List A_1 Exp2_1 Exp1 List1 List2 Exp2 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1),List2),Exp2)).
% 46.88/45.91  all X_b X_a Pa Xs Y_1 Ys (hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Y_1),Ys)))<-> (exists Z Zs_1 (Xs=hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Z),Zs_1)&hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Z),Y_1))&hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Zs_1),Ys))))).
% 46.88/45.91  all X_b X_a Pa X_1 Xs Ys (hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs)),Ys))<-> (exists Z Zs_1 (Ys=hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Z),Zs_1)&hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,X_1),Z))&hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs),Zs_1))))).
% 46.88/45.91  all X_a X_b X_1 Xs F_1 Ys (hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs)=hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F_1),Ys)<-> (exists Z Zs_1 (Ys=hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Z),Zs_1)&ti(X_a,X_1)=hAPP(X_b,X_a,F_1,Z)&Xs=hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F_1),Zs_1)))).
% 46.88/45.91  all X_b X_a F_1 Xs Y_1 Ys (hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F_1),Xs)=hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys)<-> (exists Z Zs_1 (Xs=hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Z),Zs_1)&hAPP(X_b,X_a,F_1,Z)=ti(X_a,Y_1)&hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F_1),Zs_1)=Ys))).
% 46.88/45.91  all X_a Es_3 E_5 (-hBOOL(hAPP(exp(X_a),bool,final(X_a),E_5))-> -hBOOL(hAPP(list(exp(X_a)),bool,finals(X_a),hAPP(list(exp(X_a)),list(exp(X_a)),hAPP(exp(X_a),fun(list(exp(X_a)),list(exp(X_a))),cons(exp(X_a)),E_5),Es_3)))).
% 46.88/45.91  all Pa S Bop_2 V_1_1 V_2_1 V_2 (hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),Bop_2),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_1),V_2_1)))=hAPP(val,option(val),some(val),V_2)->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),Bop_2),hAPP(val,exp(list(char)),val_1(list(char)),V_2_1))),S),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S))).
% 46.88/45.91  all M Es Vs_1 A_3 Es_2_1 S_2 Ea S0 V_2 S_1_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S_1_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es),S_1_1)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_3)),Es_2_1))),S_2))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Ea),M),Es)),S0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_3)),S_2))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))))).
% 46.88/45.91  all Es Tsa Pa Ha E Ea Ta (hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),Ea),Ta))-> (hBOOL(hAPP(list(ty),bool,hAPP(list(exp(list(char))),fun(list(ty),bool),hAPP(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)))),wTrts,Pa),Ha),E),Es),Tsa))->hBOOL(hAPP(list(ty),bool,hAPP(list(exp(list(char))),fun(list(ty),bool),hAPP(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)))),wTrts,Pa),Ha),E),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Ea),Es)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),Ta),Tsa))))).
% 46.88/45.91  all Pa Ea F D E_2_1 S hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),F),D),E_2_1)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S)).
% 46.88/45.91  all Pa Ea Bop_2 E_2_1 S hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),Bop_2),E_2_1)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S)).
% 46.88/45.91  all X_a Exp_2 Exp_1 (hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_2)=hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1)<->Exp_2=Exp_1).
% 46.88/45.91  all Pa Ea M Es S hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),M),Es)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S)).
% 46.88/45.91  all Pa Ea S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Ea),S),E_1),S_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1))).
% 46.88/45.91  all Pa Ea S hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S)).
% 46.88/45.91  all X_a Ys_2 Us_2 Xs_1 Xs1 Zs_2 (hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Xs1)=Zs_2-> (Ys_2=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs1),Us_2)->hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys_2)=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs_2),Us_2))).
% 46.88/45.91  all X_a Ys Xs Zs (hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys),Xs)=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs),Xs)<->Ys=Zs).
% 46.88/45.91  all X_a Xs Ys Zs (hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys)=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Zs)<->Ys=Zs).
% 46.88/45.91  all X_a Xs Ys Zs Ts_3 (hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys)=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs),Ts_3)<-> (exists Us (Xs=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs),Us)&hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),Ys)=Ts_3|hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Us)=Zs&Ys=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),Ts_3)))).
% 46.88/45.91  all X_a Xs_1 Ys_2 Zs_2 (hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys_2)),Zs_2)=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),Zs_2))).
% 46.88/45.91  all Pa Ea E_2_1 S hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),se_q(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),E_2_1)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S)).
% 46.88/45.91  all Pa V_2 F D Ea S hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),F),D),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S)).
% 46.88/45.91  all Pa V_1_1 Bop_2 Ea S hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),Bop_2),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S)).
% 46.88/45.91  all X_a Xs_1 Zs_2 X Xs1 Ys_2 (hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs1)=Ys_2-> (Xs_1=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs1),Zs_2)->hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1)=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),Zs_2))).
% 46.88/45.91  all X_a X Xs_1 Ys_2 (hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1)),Ys_2)=hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys_2))).
% 46.88/45.91  all X_b X_a F_1 Xs Ys (hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F_1),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Xs),Ys))=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F_1),Xs)),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F_1),Ys))).
% 46.88/45.91  all Pa Ea S_0 E_1 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1_1))).
% 46.88/45.91  all X_b X_a C_5 D_4 Pa A_3 B (hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),A_3),B))-> (hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),C_5),D_4))->hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),A_3),C_5)),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),B),D_4))))).
% 46.88/45.91  all E_2_1 Pa Ea S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Ea),S),E_1),S_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),se_q(list(char)),Ea),E_2_1)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),se_q(list(char)),E_1),E_2_1)),S_1))).
% 46.88/45.91  all F D E_2_1 Pa Ea S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Ea),S),E_1),S_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),Ea),F),D),E_2_1)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1),F),D),E_2_1)),S_1))).
% 46.88/45.91  all M Es Pa Ea S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Ea),S),E_1),S_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Ea),M),Es)),S),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),E_1),M),Es)),S_1))).
% 46.88/45.91  all Bop_2 E_2_1 Pa Ea S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Ea),S),E_1),S_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),Ea),Bop_2),E_2_1)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1),Bop_2),E_2_1)),S_1))).
% 46.88/45.91  all C V E_2_1 Pa Ea S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Ea),S),E_1),S_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),Ea),C),V),E_2_1)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1),C),V),E_2_1)),S_1))).
% 46.88/45.91  all Pa V_2 M S Es Vsa Ea Es_1 (Es=hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vsa)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),Es_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),M),Es)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S))).
% 46.88/45.91  all X_a Exp Val (hAPP(exp(X_a),exp(X_a),throw(X_a),Exp)!=hAPP(val,exp(X_a),val_1(X_a),Val)).
% 46.88/45.91  all X_a Val Exp (hAPP(val,exp(X_a),val_1(X_a),Val)!=hAPP(exp(X_a),exp(X_a),throw(X_a),Exp)).
% 46.88/45.91  all X_a Exp Exp1 Exp2 (hAPP(exp(X_a),exp(X_a),throw(X_a),Exp)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1),Exp2)).
% 46.88/45.91  all X_a Exp1 Exp2 Exp (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1),Exp2)!=hAPP(exp(X_a),exp(X_a),throw(X_a),Exp)).
% 46.88/45.91  all X_a Exp Exp1 List1 List2 Exp2 (hAPP(exp(X_a),exp(X_a),throw(X_a),Exp)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1),List2),Exp2)).
% 46.88/45.91  all X_a Exp1 List1 List2 Exp2 Exp (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1),List2),Exp2)!=hAPP(exp(X_a),exp(X_a),throw(X_a),Exp)).
% 46.88/45.91  all X_a Exp Exp_3 List1 List2 (hAPP(exp(X_a),exp(X_a),throw(X_a),Exp)!=hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_3),List1),List2)).
% 46.88/45.91  all X_a Exp_3 List1 List2 Exp (hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_3),List1),List2)!=hAPP(exp(X_a),exp(X_a),throw(X_a),Exp)).
% 46.88/45.91  all X_a Exp Exp1 Bop Exp2 (hAPP(exp(X_a),exp(X_a),throw(X_a),Exp)!=hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop),Exp2)).
% 46.88/45.91  all X_a Exp1 Bop Exp2 Exp (hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop),Exp2)!=hAPP(exp(X_a),exp(X_a),throw(X_a),Exp)).
% 46.88/45.91  all X_a Exp_3 Exp1_1 List A_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_3)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)).
% 46.88/45.91  all X_a Exp1_1 List A_1 Exp2_1 Exp_3 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_3)).
% 46.88/45.91  all X_a Vsa Es (hBOOL(hAPP(list(exp(X_a)),bool,finals(X_a),hAPP(list(exp(X_a)),list(exp(X_a)),hAPP(list(exp(X_a)),fun(list(exp(X_a)),list(exp(X_a))),append(exp(X_a)),hAPP(list(val),list(exp(X_a)),hAPP(fun(val,exp(X_a)),fun(list(val),list(exp(X_a))),map(val,exp(X_a)),val_1(X_a)),Vsa)),Es)))<->hBOOL(hAPP(list(exp(X_a)),bool,finals(X_a),Es))).
% 46.88/45.91  all X_a X_b Pa Us_1 Vsa Xs Ys (hAPP(list(X_a),nat,size_size(list(X_a)),Xs)=hAPP(list(X_b),nat,size_size(list(X_b)),Ys)-> (hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Us_1)),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Ys),Vsa)))<->hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs),Ys))&hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Us_1),Vsa)))).
% 46.88/45.91  all Pa V_2 E_2_1 S hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),se_q(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),E_2_1)),S),E_2_1),S)).
% 46.88/45.91  all V_2 F D Pa Ea S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Ea),S),E_1),S_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),F),D),Ea)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),F),D),E_1)),S_1))).
% 46.88/45.91  all V_1_1 Bop_2 Pa Ea S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Ea),S),E_1),S_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),Bop_2),Ea)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),Bop_2),E_1)),S_1))).
% 46.88/45.91  all X_a X_b M_1 Zs Xs Ys (hAPP(list(X_a),nat,size_size(list(X_a)),Xs)=hAPP(list(X_b),nat,size_size(list(X_b)),Ys)->hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),M_1),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Zs)),Ys)=hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),M_1),Xs),Ys)).
% 46.88/45.91  all X_a X_b M_1 Zs Xs Ys (hAPP(list(X_a),nat,size_size(list(X_a)),Xs)=hAPP(list(X_b),nat,size_size(list(X_b)),Ys)->hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),M_1),Xs),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Ys),Zs))=hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),M_1),Xs),Ys)).
% 46.88/45.91  all Pa V_2 C V E_2_1 S hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),C),V),E_2_1)),S),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S)).
% 46.88/45.91  all E_1_1 Pa E_0 S_0 Ea S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_0),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S_1_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),se_q(list(char)),E_0),E_1_1)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S_1_1))).
% 46.88/45.91  all F D E_2_1 Pa E_1_1 S_0 E_1 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F),D),E_2_1)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1_1))).
% 46.88/45.91  all M Ps Pa Ea S_0 E_1 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Ea),M),Ps)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1_1))).
% 46.88/45.91  all Bop_2 E_2_1 Pa E_1_1 S_0 Ea S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S_1_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2_1)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S_1_1))).
% 46.88/45.91  all Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))).
% 46.88/45.91  all Ea S Pa hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))).
% 46.88/45.91  all F D E_2_1 E_1 S_2 Pa E_1_1 S_0 V_2 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_0),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S_1_1))-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2_1),S_1_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_2))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F),D),E_2_1)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_2)))).
% 46.88/45.91  all Bop_2 E_2_1 Ea S_2 Pa E_1_1 S_0 V_1_1 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_0),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),S_1_1))-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2_1),S_1_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S_2))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2_1)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S_2)))).
% 46.88/45.91  all V_2 M S Pa Es Vsa Ea Es_1 (Es=hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vsa)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),Es_1))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),M),Es)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))).
% 46.88/45.91  all Ea S A_3 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_3)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_3)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.91  all Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.91  all Ea E_2_1 S Pa hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),se_q(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))).
% 46.88/45.91  all Ea F D E_2_1 S Pa hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),F),D),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))).
% 46.88/45.91  all Ea M Es S Pa hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),M),Es)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))).
% 46.88/45.91  all Ea Bop_2 E_2_1 S Pa hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),Bop_2),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))).
% 46.88/45.91  all V_2 F D Ea S Pa hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),F),D),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))).
% 46.88/45.91  all V_1_1 Bop_2 Ea S Pa hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),Bop_2),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))).
% 46.88/45.91  all E_2_1 Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),se_q(list(char)),Ea),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.91  all F D E_2_1 Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),Ea),F),D),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.91  all M Es Ea S0 A_3 S_1_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_3)),S_1_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Ea),M),Es)),S0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_3)),S_1_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.92  all Bop_2 E_2_1 Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),Ea),Bop_2),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.92  all F D E_2_1 Ea S_2 E_1_1 S_0 V_2 S_1_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S_1_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2_1),S_1_1)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S_2))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F),D),E_2_1)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S_2))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))))).
% 46.88/45.92  all Bop_2 E_2_1 Ea S_2 E_1_1 S_0 V_1_1 S_1_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),S_1_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2_1),S_1_1)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S_2))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2_1)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S_2))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))))).
% 46.88/45.92  all X_b X_a Pa Xs Ys Zs (hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys)),Zs))<-> (exists Us Vs (Zs=hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Us),Vs)&hAPP(list(X_b),nat,size_size(list(X_b)),Us)=hAPP(list(X_a),nat,size_size(list(X_a)),Xs)&hAPP(list(X_b),nat,size_size(list(X_b)),Vs)=hAPP(list(X_a),nat,size_size(list(X_a)),Ys)&hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs),Us))&hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Ys),Vs))))).
% 46.88/45.92  all X_b X_a Pa Xs Ys Zs (hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Ys),Zs)))<-> (exists Us Vs (Xs=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),Vs)&hAPP(list(X_a),nat,size_size(list(X_a)),Us)=hAPP(list(X_b),nat,size_size(list(X_b)),Ys)&hAPP(list(X_a),nat,size_size(list(X_a)),Vs)=hAPP(list(X_b),nat,size_size(list(X_b)),Zs)&hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Us),Ys))&hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Vs),Zs))))).
% 46.88/45.92  all X_a Pa Xs ((exists X_2 (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))&hBOOL(hAPP(X_a,bool,Pa,X_2))))-> -(all Ys_1 X_2 ((exists Zs_1 (Xs=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs_1))))-> -hBOOL(hAPP(X_a,bool,Pa,X_2))))).
% 46.88/45.92  all X_a X_1 Xs (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))<-> (exists Ys_1 Zs_1 (Xs=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs_1))& -hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys_1)))))).
% 46.88/45.92  all X_a X_1 Xs (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))<-> (exists Ys_1 Zs_1 (Xs=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs_1))& -hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Zs_1)))))).
% 46.88/45.92  all X_a Pa Ha Xs Y_1 Ys (hBOOL(hAPP(list(ty),bool,hAPP(list(val),fun(list(ty),bool),hAPP(fun(val,fun(ty,bool)),fun(list(val),fun(list(ty),bool)),list_all2(val,ty),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Ha)),Xs),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),Y_1),Ys)))<-> (exists Z Zs_1 (Xs=hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),Z),Zs_1)&hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Ha),Z),Y_1))&hBOOL(hAPP(list(ty),bool,hAPP(list(val),fun(list(ty),bool),hAPP(fun(val,fun(ty,bool)),fun(list(val),fun(list(ty),bool)),list_all2(val,ty),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Ha)),Zs_1),Ys))))).
% 46.88/45.92  all X_a Pa X_1 Xs Ys (hBOOL(hAPP(list(ty),bool,hAPP(list(ty),fun(list(ty),bool),hAPP(fun(ty,fun(ty,bool)),fun(list(ty),fun(list(ty),bool)),list_all2(ty,ty),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),X_1),Xs)),Ys))<-> (exists Z Zs_1 (Ys=hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),Z),Zs_1)&hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa),X_1),Z))&hBOOL(hAPP(list(ty),bool,hAPP(list(ty),fun(list(ty),bool),hAPP(fun(ty,fun(ty,bool)),fun(list(ty),fun(list(ty),bool)),list_all2(ty,ty),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa)),Xs),Zs_1))))).
% 46.88/45.92  all X_a X_1 Xs (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))<-> (exists Ys_1 Zs_1 (Xs=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs_1))))).
% 46.88/45.92  all Pa E_1_1 Bop_2 E_2_1 S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2_1)),S),E_1),S_1))-> ((all V_1_2 S_1_2 V_2_2 V_1 (E_1=hAPP(val,exp(list(char)),val_1(list(char)),V_1)-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),S_1_2))-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2_1),S_1_2),hAPP(val,exp(list(char)),val_1(list(char)),V_2_2)),S_1))->hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),Bop_2),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_2),V_2_2)))!=hAPP(val,option(val),some(val),V_1)))))-> ((all E_4 (E_1=hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_4)-> -hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_4)),S_1))))-> -(all V_1_2 S_1_2 E_4 (E_1=hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_4)-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),S_1_2))-> -hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2_1),S_1_2),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_4)),S_1)))))))).
% 46.88/45.92  all M Es Vsa Ex Es_1 S_2 Pa Ea S_0 V_2 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S_1_1))-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Es),S_1_1),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vsa)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ex)),Es_1))),S_2))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Ea),M),Es)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ex)),S_2)))).
% 46.88/45.92  all Vsa Es_1 Pa X_1 S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),X_1)),S),E_1),S_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vsa)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),X_1)),Es_1))),S),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vsa)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),E_1),Es_1))),S_1))).
% 46.88/45.92  all Pa E_1_1 E_2_1 S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),se_q(list(char)),E_1_1),E_2_1)),S),E_1),S_1))-> ((all V_1 S_1_2 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S),hAPP(val,exp(list(char)),val_1(list(char)),V_1)),S_1_2))-> -hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2_1),S_1_2),E_1),S_1))))-> -(all E_4 (E_1=hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_4)-> -hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_4)),S_1)))))).
% 46.88/45.92  all V_2 M Pa Es S Es_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,Pa),Es),S),Es_1),S_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),M),Es)),S),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),M),Es_1)),S_1))).
% 46.88/45.92  all Pa Es S Es_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Es),S),Es_1),S_1))->hBOOL(hAPP(list(exp(list(char))),bool,finals(list(char)),Es_1))).
% 46.88/45.92  all Pa S Es (hBOOL(hAPP(list(exp(list(char))),bool,finals(list(char)),Es))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Es),S),Es),S))).
% 46.88/45.92  all Pa Es Ha L_1 Es_1 H_1 L_2 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Es),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1)),Es_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_2)))->hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Ha),H_1))).
% 46.88/45.92  all V_2 Pa Es S Es_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,Pa),Es),S),Es_1),S_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,Pa),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),Es)),S),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),Es_1)),S_1))).
% 46.88/45.92  all Es Es_1 S_2 Pa Ea S_0 V_2 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S_1_1))-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Es),S_1_1),Es_1),S_2))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Ea),Es)),S_0),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),Es_1)),S_2)))).
% 46.88/45.92  all Es Pa Ea S_0 E_1 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Ea),Es)),S_0),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),Es)),S_1_1))).
% 46.88/45.92  all Es Pa Ea S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Ea),S),E_1),S_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,Pa),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Ea),Es)),S),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),E_1),Es)),S_1))).
% 46.88/45.92  all Pa Ea Es S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Ea),Es)),S),E_1),S_1))-> ((all V_1 S_1_2 Es_2 (E_1=hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),V_1)),Es_2)-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S),hAPP(val,exp(list(char)),val_1(list(char)),V_1)),S_1_2))-> -hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Es),S_1_2),Es_2),S_1)))))-> -(all E_2 (E_1=hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_2)),Es)-> -hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_2)),S_1)))))).
% 46.88/45.92  all Ta Pa Ha E Ea T_r_1 (hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),Ea),T_r_1))-> (hBOOL(hAPP(ty,bool,is_refT,T_r_1))->hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),Ta)))).
% 46.88/45.92  all X_a Pa Xs ((exists X_2 (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))&hBOOL(hAPP(X_a,bool,Pa,X_2))))<-> (exists Ys_1 X_2 Zs_1 (Xs=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs_1))&hBOOL(hAPP(X_a,bool,Pa,X_2))& (all Xa (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Xa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Zs_1)))-> -hBOOL(hAPP(X_a,bool,Pa,Xa))))))).
% 46.88/45.92  all X_a Pa Xs ((exists X_2 (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))&hBOOL(hAPP(X_a,bool,Pa,X_2))))<-> (exists Ys_1 X_2 ((exists Zs_1 (Xs=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs_1))))&hBOOL(hAPP(X_a,bool,Pa,X_2))& (all Xa (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Xa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys_1)))-> -hBOOL(hAPP(X_a,bool,Pa,Xa))))))).
% 46.88/45.92  all Pa Ha E Ea Ta (hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),Ta))-> -(all T_r (hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),Ea),T_r))-> -hBOOL(hAPP(ty,bool,is_refT,T_r))))).
% 46.88/45.92  all X_a Pa Xs ((exists X_2 (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))&hBOOL(hAPP(X_a,bool,Pa,X_2))))-> -(all Ys_1 X_2 ((exists Zs_1 (Xs=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs_1))))-> (hBOOL(hAPP(X_a,bool,Pa,X_2))-> -(all Xa (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Xa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys_1)))-> -hBOOL(hAPP(X_a,bool,Pa,Xa)))))))).
% 46.88/45.92  all X_a Pa Xs ((exists X_2 (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))&hBOOL(hAPP(X_a,bool,Pa,X_2))))-> -(all Ys_1 X_2 Zs_1 (Xs=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs_1))-> (hBOOL(hAPP(X_a,bool,Pa,X_2))-> -(all Xa (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Xa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Zs_1)))-> -hBOOL(hAPP(X_a,bool,Pa,Xa)))))))).
% 46.88/45.92  all X_a X_1 Xs (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))-> (exists Ys_1 Zs_1 (Xs=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs_1))& -hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys_1)))))).
% 46.88/45.92  all X_a X_1 Xs (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))-> (exists Ys_1 Zs_1 (Xs=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs_1))))).
% 46.88/45.92  all X_a X_1 Xs (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))-> (exists Ys_1 Zs_1 (Xs=hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs_1))& -hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Zs_1)))))).
% 46.88/45.92  all X_a X_1 Xs Y_1 Ys R (hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lex(X_a),R)))<->hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_1)),R))&hAPP(list(X_a),nat,size_size(list(X_a)),Xs)=hAPP(list(X_a),nat,size_size(list(X_a)),Ys)|ti(X_a,X_1)=ti(X_a,Y_1)&hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lex(X_a),R)))).
% 46.88/45.92  all X_a U X_1 Y_1 A_3 B R (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_3),B)),R))->hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),U),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_3),X_1))),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),U),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),B),Y_1)))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R)))).
% 46.88/45.92  all C_5 B S Ea S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),B),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C_5)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.92  all F D Ea S A_3 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_3)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Ea),F),D)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_3)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.92  all X_a Exp1 Exp2 Exp1_1 List A_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)).
% 46.88/45.92  all X_a Exp_3 List1 List2 Exp1_1 List A_1 Exp2_1 (hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_3),List1),List2)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)).
% 46.88/45.92  all X_a Exp1_1 List A_1 Exp2_1 Exp1 Exp2 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2)).
% 46.88/45.92  all X_a Exp1_1 List A_1 Exp2_1 Exp_3 List1 List2 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)!=hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_3),List1),List2)).
% 46.88/45.92  all X_a Exp1_1 Exp2_1 Exp_3 List1 List2 (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1)!=hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_3),List1),List2)).
% 46.88/45.92  all X_a Exp_3 List1 List2 Exp1_1 Exp2_1 (hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_3),List1),List2)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1)).
% 46.88/45.92  all X_a Exp1_3 Exp2_3 Exp1_2 Exp2_2 (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_3),Exp2_3)=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_2),Exp2_2)<->Exp1_3=Exp1_2&Exp2_3=Exp2_2).
% 46.88/45.92  all X_a Exp_2 List1_3 List2_3 Exp_1 List1_2 List2_2 (hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_2),List1_3),List2_3)=hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_2),List2_2)<->Exp_2=Exp_1&List1_3=List1_2&List2_3=List2_2).
% 46.88/45.92  all X_a Exp1_1 Exp2_1 Exp1 Bop Exp2 (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop),Exp2)).
% 46.88/45.92  all X_a Exp1 Bop Exp2 Exp1_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop),Exp2)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1)).
% 46.88/45.92  all X_a Exp List1_1 List2_1 Exp1 Bop Exp2 (hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1_1),List2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop),Exp2)).
% 46.88/45.92  all X_a Exp1 Bop Exp2 Exp List1_1 List2_1 (hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop),Exp2)!=hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1_1),List2_1)).
% 46.88/45.92  all X_a Exp1_1 Exp2_1 Exp1 List1 List2 Exp2 (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1),List2),Exp2)).
% 46.88/45.92  all X_a Exp_3 List1 List2 Exp1_1 List1_1 List2_1 Exp2_1 (hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_3),List1),List2)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1_1),List2_1),Exp2_1)).
% 46.88/45.92  all X_a Exp1 List1 List2 Exp2 Exp1_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1),List2),Exp2)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1)).
% 46.88/45.92  all X_a Exp1_1 List1_1 List2_1 Exp2_1 Exp_3 List1 List2 (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1_1),List2_1),Exp2_1)!=hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_3),List1),List2)).
% 46.88/45.92  all X_a Exp1_1 Exp2_1 Exp_3 List1 List2 (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1)!=hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_3),List1),List2)).
% 46.88/45.92  all X_a Exp_3 List1 List2 Exp1_1 Exp2_1 (hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_3),List1),List2)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1)).
% 46.88/45.92  all X_a Exp List1_1 List2_1 Exp_3 List1 List2 (hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1_1),List2_1)!=hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_3),List1),List2)).
% 46.88/45.92  all X_a Exp_3 List1 List2 Exp List1_1 List2_1 (hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_3),List1),List2)!=hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1_1),List2_1)).
% 46.88/45.92  all X_a Exp1 Exp2 Exp1_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1),Exp2)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1)).
% 46.88/45.92  all X_a Exp1_1 Exp2_1 Exp1 Exp2 (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1),Exp2)).
% 46.88/45.92  all X_a Exp1_1 Exp2_1 Exp_3 List1 List2 (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1_1),Exp2_1)!=hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_3),List1),List2)).
% 46.88/45.92  all X_a Exp_3 List1 List2 Exp1_1 Exp2_1 (hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_3),List1),List2)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1_1),Exp2_1)).
% 46.88/45.92  all X_a Exp_3 List1 List2 Exp (hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_3),List1),List2)!=hAPP(exp(X_a),exp(X_a),throw(X_a),Exp)).
% 46.88/45.92  all X_a Exp1 Exp2 Exp (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2)!=hAPP(exp(X_a),exp(X_a),throw(X_a),Exp)).
% 46.88/45.92  all X_a Exp Exp_3 List1 List2 (hAPP(exp(X_a),exp(X_a),throw(X_a),Exp)!=hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_3),List1),List2)).
% 46.88/45.92  all X_a Exp Exp1 Exp2 (hAPP(exp(X_a),exp(X_a),throw(X_a),Exp)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2)).
% 46.88/45.92  all X_a Exp List1_1 List2_1 Val (hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1_1),List2_1)!=hAPP(val,exp(X_a),val_1(X_a),Val)).
% 46.88/45.92  all X_a Exp1_1 Exp2_1 Val (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1)!=hAPP(val,exp(X_a),val_1(X_a),Val)).
% 46.88/45.92  all X_a Val Exp List1_1 List2_1 (hAPP(val,exp(X_a),val_1(X_a),Val)!=hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1_1),List2_1)).
% 46.88/45.92  all X_a Val Exp1_1 Exp2_1 (hAPP(val,exp(X_a),val_1(X_a),Val)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1)).
% 46.88/45.92  all F D Pa Ea S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Ea),S),E_1),S_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Ea),F),D)),S),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),E_1),F),D)),S_1))).
% 46.88/45.92  all F D Pa Ea S_0 E_1 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Ea),F),D)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1_1))).
% 46.88/45.92  all C_5 Pa Ea S_0 E_1 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),Ea),C_5)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1_1))).
% 46.88/45.92  all Pa Ea F D S hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),F),D)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S)).
% 46.88/45.92  all X_a X_1 U V_2 R (hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),U),V_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R)))->hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),X_1),U)),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),X_1),V_2))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R)))).
% 46.88/45.92  all F D Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Ea),F),D)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),E_1),F),D)),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))).
% 46.88/45.92  all X_a A_3 X_1 B Y_1 R (hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_3),X_1)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),B),Y_1))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R)))<->hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_3),B)),R))|ti(X_a,A_3)=ti(X_a,B)&hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),X_1),Y_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R)))).
% 46.88/45.92  all Ea F D S Pa hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),F),D)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))).
% 46.88/45.92  all F D Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Ea),F),D)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),E_1),F),D)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.92  all X_a X_1 Y_1 R (hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),X_1),Y_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lex(X_a),R)))<->hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),X_1),Y_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R)))&hAPP(list(X_a),nat,size_size(list(X_a)),X_1)=hAPP(list(X_a),nat,size_size(list(X_a)),Y_1)).
% 46.88/45.92  all X_a X_1 R Y_1 ((exists B_1 Z (Y_1=hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),B_1),Z)))->hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),X_1),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),X_1),Y_1))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R)))).
% 46.88/45.92  all X_a X_1 U V_2 R (hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),X_1),U)),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),X_1),V_2))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R)))-> ((all A_5 (-hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_5),A_5)),R))))->hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),U),V_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R))))).
% 46.88/45.92  all X_a Zs Ys R Xs ((all X_2 Y_2 Z (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))-> (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_2),Y_2)),R))-> (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Y_2),Z)),R))->hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_2),Z)),R))))))-> (hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R)))-> (hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Ys),Zs)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R)))->hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs),Zs)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R)))))).
% 46.88/45.92  all X_a X_1 Y_1 R ((all A_5 B_1 (hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_5),B_1)),R))|ti(X_a,A_5)=ti(X_a,B_1)|hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),B_1),A_5)),R))))->hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),X_1),Y_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R)))|X_1=Y_1|hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Y_1),X_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R)))).
% 46.88/45.92  all X_a Xs R ((all X_2 (-hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_2),X_2)),R))))-> -hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs),Xs)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R)))).
% 46.88/45.92  all C_5 Ea S_2 B S_0 S_1_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),B),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),S_1_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),C_5),S_1_1)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S_2))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C_5)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S_2))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))))).
% 46.88/45.92  all E_3 S_3 C_5 V_1_1 S_2 Pa Ea S_0 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),S_1_1))-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),C_5),S_1_1),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),S_2))-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),Ea),C_5)),S_2),E_3),S_3))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),Ea),C_5)),S_0),E_3),S_3))))).
% 46.88/45.92  all C_5 E_1 S_2 Pa Ea S_0 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),S_1_1))-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),C_5),S_1_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_2))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),Ea),C_5)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_2)))).
% 46.88/45.92  all Ea S_3 C_5 V_1_1 S_2 B S_0 S_1_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),B),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),S_1_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),C_5),S_1_1)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),S_2))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C_5)),S_2)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C_5)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))))).
% 46.88/45.92  all V_1_1 V_2_1 (hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),c_Expr_Obop_OEq),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_1),V_2_1)))=hAPP(val,option(val),some(val),hAPP(bool,val,bool_1,hAPP(val,bool,hAPP(val,fun(val,bool),fe_qual(val),V_1_1),V_2_1)))).
% 46.88/45.92  all C_5 B S S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),B),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C_5)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.92  all F D V_2 C Fs Pa Ea S_0 A_3 Ha L_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1)))-> (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Ha,A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),Fs))-> (hAPP(product_prod(list(char),list(char)),option(val),Fs,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F),D))=hAPP(val,option(val),some(val),V_2)->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Ea),F),D)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1)))))).
% 46.88/45.93  all Pa Ea S_0 A_3 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),S_1_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3)))),S_1_1))).
% 46.88/45.93  all X_a Ea (hBOOL(hAPP(exp(X_a),bool,final(X_a),Ea))<-> (exists V_1 (Ea=hAPP(val,exp(X_a),val_1(X_a),V_1)))| (exists A_5 (Ea=hAPP(exp(X_a),exp(X_a),throw(X_a),hAPP(val,exp(X_a),val_1(X_a),hAPP(nat,val,addr,A_5)))))).
% 46.88/45.93  all C_5 Pa Ea S_0 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),S_1_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),Ea),C_5)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),unit)),S_1_1))).
% 46.88/45.93  all F D V_2 C Fs Ea S A_3 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S_1),A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),Fs))-> (hAPP(product_prod(list(char),list(char)),option(val),Fs,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F),D))=hAPP(val,option(val),some(val),V_2)->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Ea),F),D)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))))).
% 46.88/45.93  all X_a Es (hBOOL(hAPP(list(exp(X_a)),bool,finals(X_a),Es))<-> (exists Vs (Es=hAPP(list(val),list(exp(X_a)),hAPP(fun(val,exp(X_a)),fun(list(val),list(exp(X_a))),map(val,exp(X_a)),val_1(X_a)),Vs)))| (exists Vs A_5 Es_2 (Es=hAPP(list(exp(X_a)),list(exp(X_a)),hAPP(list(exp(X_a)),fun(list(exp(X_a)),list(exp(X_a))),append(exp(X_a)),hAPP(list(val),list(exp(X_a)),hAPP(fun(val,exp(X_a)),fun(list(val),list(exp(X_a))),map(val,exp(X_a)),val_1(X_a)),Vs)),hAPP(list(exp(X_a)),list(exp(X_a)),hAPP(exp(X_a),fun(list(exp(X_a)),list(exp(X_a))),cons(exp(X_a)),hAPP(exp(X_a),exp(X_a),throw(X_a),hAPP(val,exp(X_a),val_1(X_a),hAPP(nat,val,addr,A_5)))),Es_2))))).
% 46.88/45.93  all Pa F D V_2 S A_3 C Fs (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),Fs))-> (hAPP(product_prod(list(char),list(char)),option(val),Fs,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F),D))=hAPP(val,option(val),some(val),V_2)->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),F),D)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.93  all Pa F D V_2 S A_3 C Fs (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),Fs))-> (hAPP(product_prod(list(char),list(char)),option(val),Fs,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F),D))=hAPP(val,option(val),some(val),V_2)->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),F),D)),S),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S)))).
% 46.88/45.93  all E Tsa Es S Es_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_1),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))-> (hBOOL(hAPP(list(ty),bool,hAPP(list(exp(list(char))),fun(list(ty),bool),hAPP(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)))),wTrts,Pa),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S)),E),Es),Tsa))-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1687304666_sconf,Pa),E),S))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1687304666_sconf,Pa),E),S_1))))).
% 46.88/45.93  all V E_2_1 C D Fs E_1_1 S A_3 Ha L_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3)))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Ha,A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),D),Fs))-> (-hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D),C)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C),V),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3)))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))))).
% 46.88/45.93  all V E_2_1 C Pa S A_3 D Fs (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),D),Fs))-> (-hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D),C)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3)))),C),V),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3)))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.93  all V E_2_1 C D Fs Pa E_1_1 S_0 A_3 H_1_1 L_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3)))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1_1),L_1_1)))-> (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_1_1,A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),D),Fs))-> (-hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D),C)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C),V),E_2_1)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3)))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1_1),L_1_1)))))).
% 46.88/45.93  all E Ta Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))-> (hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S)),E),Ea),Ta))-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1687304666_sconf,Pa),E),S))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1687304666_sconf,Pa),E),S_1))))).
% 46.88/45.93  all E_2_1 V E_2_2 H_2 L_2_1 C D Fs E_1_1 S_0 A_3 H_1_1 L_1_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3)))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1_1),L_1_1)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_1_1,A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),D),Fs))-> (hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D),C)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))-> (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1_1),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_1_1),V),hAPP(val,option(val),some(val),hAPP(nat,val,addr,A_3)))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2_2),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2_1)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hBOOL(hAPP(exp(list(char)),bool,final(list(char)),E_2_2))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C),V),E_2_1)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2_2),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_2_1),V),hAPP(list(char),option(val),L_1_1,V)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))))))).
% 46.88/45.93  all C D Fs Ea S A_3 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S_1),A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),D),Fs))-> (hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D),C)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),Ea)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))))).
% 46.88/45.93  all C Pa S A_3 D Fs (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),D),Fs))-> (hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D),C)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3)))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.93  all X_a List_1 Exp_3 Exp1_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1)).
% 46.88/45.93  all X_a Exp1_1 Exp2_1 List_1 Exp_3 (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)).
% 46.88/45.93  all X_a List_1 Exp_3 Exp List1_1 List2_1 (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)!=hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1_1),List2_1)).
% 46.88/45.93  all X_a Exp List1_1 List2_1 List_1 Exp_3 (hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1_1),List2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)).
% 46.88/45.93  all X_a List_1 Exp_3 Exp1_1 List A_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)).
% 46.88/45.93  all X_a Exp1_1 List A_1 Exp2_1 List_1 Exp_3 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)).
% 46.88/45.93  all X_a List_3 Exp_2 List_2 Exp_1 (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_3),Exp_2)=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp_1)<->List_3=List_2&Exp_2=Exp_1).
% 46.88/45.93  all X_a List_1 Exp_3 Exp1_1 Bop_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)!=hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop_1),Exp2_1)).
% 46.88/45.93  all X_a Exp1_1 Bop_1 Exp2_1 List_1 Exp_3 (hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)).
% 46.88/45.93  all X_a List_1 Exp_3 Exp1_1 List1_1 List2_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1_1),List2_1),Exp2_1)).
% 46.88/45.93  all X_a Exp1_1 List1_1 List2_1 Exp2_1 List_1 Exp_3 (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1_1),List2_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)).
% 46.88/45.93  all X_a List_1 Exp_3 Exp List1_1 List2_1 (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)!=hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1_1),List2_1)).
% 46.88/45.93  all X_a Exp List1_1 List2_1 List_1 Exp_3 (hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1_1),List2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)).
% 46.88/45.93  all X_a Exp1_1 Exp2_1 List_1 Exp_3 (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)).
% 46.88/45.93  all X_a List_1 Exp_3 Exp1_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1_1),Exp2_1)).
% 46.88/45.93  all X_a List_1 Exp_3 Exp (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)!=hAPP(exp(X_a),exp(X_a),throw(X_a),Exp)).
% 46.88/45.93  all X_a Exp List_1 Exp_3 (hAPP(exp(X_a),exp(X_a),throw(X_a),Exp)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)).
% 46.88/45.93  all X_a List_1 Exp_3 Val_1 (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)!=hAPP(val,exp(X_a),val_1(X_a),Val_1)).
% 46.88/45.93  all X_a Val_1 List_1 Exp_3 (hAPP(val,exp(X_a),val_1(X_a),Val_1)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)).
% 46.88/45.93  all C Pa Ea S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Ea),S),E_1),S_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),Ea)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),E_1)),S_1))).
% 46.88/45.93  all X_b X_a M_1 A_3 X_1 N Y_1 (hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),M_1),A_3),hAPP(X_b,option(X_b),some(X_b),X_1))=hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),N),A_3),hAPP(X_b,option(X_b),some(X_b),Y_1))->ti(X_b,X_1)=ti(X_b,Y_1)).
% 46.88/45.93  all X_b X_a T_4 K X_1 (hAPP(X_b,option(X_a),T_4,K)=hAPP(X_a,option(X_a),some(X_a),X_1)->hAPP(option(X_a),fun(X_b,option(X_a)),hAPP(X_b,fun(option(X_a),fun(X_b,option(X_a))),hAPP(fun(X_b,option(X_a)),fun(X_b,fun(option(X_a),fun(X_b,option(X_a)))),fun_upd(X_b,option(X_a)),T_4),K),hAPP(X_a,option(X_a),some(X_a),X_1))=ti(fun(X_b,option(X_a)),T_4)).
% 46.88/45.93  all X_b X_a M_1 A_3 B X_1 Y_1 (hAPP(X_b,option(X_a),hAPP(option(X_a),fun(X_b,option(X_a)),hAPP(X_b,fun(option(X_a),fun(X_b,option(X_a))),hAPP(fun(X_b,option(X_a)),fun(X_b,fun(option(X_a),fun(X_b,option(X_a)))),fun_upd(X_b,option(X_a)),M_1),A_3),hAPP(X_a,option(X_a),some(X_a),B)),X_1)=hAPP(X_a,option(X_a),some(X_a),Y_1)<->ti(X_b,X_1)=ti(X_b,A_3)&ti(X_a,B)=ti(X_a,Y_1)|ti(X_b,X_1)!=ti(X_b,A_3)&hAPP(X_b,option(X_a),M_1,X_1)=hAPP(X_a,option(X_a),some(X_a),Y_1)).
% 46.88/45.93  all X_a X_b F_1 G X_1 Y_1 (hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),F_1),hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),G),X_1),hAPP(X_b,option(X_b),some(X_b),Y_1)))=hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),F_1),G)),X_1),hAPP(X_b,option(X_b),some(X_b),Y_1))).
% 46.88/45.93  all C Pa Ea S_0 E_1 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),Ea)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1_1))).
% 46.88/45.93  all Pa C Ea S hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S)).
% 46.88/45.93  all X_b X_a F_1 V_2 Y_1 Xs (-hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Y_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))->hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F_1),Y_1),V_2)),Xs)=hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),F_1),Xs)).
% 46.88/45.93  all X_b X_a M_1 A_3 As B Bs (hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),M_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_3),As)),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),B),Bs))=hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),M_1),A_3),hAPP(X_b,option(X_b),some(X_b),B))),As),Bs)).
% 46.88/45.93  all X_b X_a M_1 B Bs A_3 As (-hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_3),hAPP(list(X_a),fun(X_a,bool),set(X_a),As)))->hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),M_1),A_3),hAPP(X_b,option(X_b),some(X_b),B))),As),Bs)=hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),M_1),As),Bs)),A_3),hAPP(X_b,option(X_b),some(X_b),B))).
% 46.88/45.93  all C Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),Ea)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),E_1)),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))).
% 46.88/45.93  all C Ea S Pa hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))).
% 46.88/45.93  all X_a V V_2 Ta Pa Ha L_1 E (hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(X_a),Pa),Ha),L_1),E))-> (hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Ha),V_2),Ta))-> (hAPP(list(char),option(ty),E,V)=hAPP(ty,option(ty),some(ty),Ta)->hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(X_a),Pa),Ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_1),V),hAPP(val,option(val),some(val),V_2))),E))))).
% 46.88/45.93  all C Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),Ea)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),E_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.93  all C Ea S A_3 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_3)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),Ea)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_3)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.93  all C D Fs Pa Ea S_0 A_3 Ha L_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1)))-> (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Ha,A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),D),Fs))-> (hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D),C)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),Ea)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1)))))).
% 46.88/45.93  all E_2_1 V E_2_2 H_2 L_2_1 C D Fs Pa E_1_1 S_0 A_3 H_1_1 L_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3)))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1_1),L_1_1)))-> (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_1_1,A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),D),Fs))-> (hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D),C)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1_1),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_1_1),V),hAPP(val,option(val),some(val),hAPP(nat,val,addr,A_3))))),E_2_2),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2_1)))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C),V),E_2_1)),S_0),E_2_2),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_2_1),V),hAPP(list(char),option(val),L_1_1,V))))))))).
% 46.88/45.93  all C D Fs Ea S A_3 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S_1),A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),D),Fs))-> (-hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D),C)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),Ea)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))))).
% 46.88/45.93  all C Pa S A_3 D Fs (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),D),Fs))-> (-hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D),C)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3)))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.93  all Vsa Pa M Tsa Ta Pns Body D S A_3 C Fs (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),Fs))-> (hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),Pa),C),M),Tsa),Ta),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),Pns),Body)),D))-> (hAPP(list(val),nat,size_size(list(val)),Vsa)=hAPP(list(list(char)),nat,size_size(list(list(char))),Pns)-> (hAPP(list(ty),nat,size_size(list(ty)),Tsa)=hAPP(list(list(char)),nat,size_size(list(list(char))),Pns)->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),M),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vsa))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),list(list(char)),hAPP(list(char),fun(list(list(char)),list(list(char))),cons(list(char)),this),Pns)),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),hAPP(list(char),ty,class,D)),Tsa)),hAPP(exp(list(char)),product_prod(list(val),exp(list(char))),hAPP(list(val),fun(exp(list(char)),product_prod(list(val),exp(list(char)))),product_Pair(list(val),exp(list(char))),hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),hAPP(nat,val,addr,A_3)),Vsa)),Body))))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))))).
% 46.88/45.93  all V C E_2_1 T_2_1 Pa Ha E E_1_1 T_1_2 (hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),E_1_1),T_1_2))-> (hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),E),V),hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,C)))),E_2_1),T_2_1))-> (hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_1_2),T_2_1))->hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C),V),E_2_1)),T_2_1))))).
% 46.88/45.93  all X_a TS_1 T_3 M_5 D_3 P C_3 M_4 TS T_2 M_3 D_2 (hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),P),C_3),M_4),TS),T_2),M_3),D_2))-> (hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),P),C_3),M_4),TS_1),T_3),M_5),D_3))->TS_1=TS&T_3=T_2&ti(X_a,M_5)=ti(X_a,M_3)&D_3=D_2)).
% 46.88/45.93  all X_a P C_3 M_4 Ts_2 T_2 M_3 D_2 (hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),P),C_3),M_4),Ts_2),T_2),M_3),D_2))->hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),P),D_2),M_4),Ts_2),T_2),M_3),D_2))).
% 46.88/45.93  all X_a Pa Fs_2 X_1 Ta Ha A_3 C Fs (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Ha,A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),Fs))-> (hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Ha),A_3),hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),Fs_2)))),X_1),Ta))<->hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Ha),X_1),Ta)))).
% 46.88/45.93  all Es Ts_1 M Tsa Ta Pns Body D Pa Ha E Ea C (hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),Ea),hAPP(list(char),ty,class,C)))-> (hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),Pa),C),M),Tsa),Ta),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),Pns),Body)),D))-> (hBOOL(hAPP(list(ty),bool,hAPP(list(exp(list(char))),fun(list(ty),bool),hAPP(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)))),wTrts,Pa),Ha),E),Es),Ts_1))-> (hBOOL(hAPP(list(ty),bool,hAPP(list(ty),fun(list(ty),bool),hAPP(fun(ty,fun(ty,bool)),fun(list(ty),fun(list(ty),bool)),list_all2(ty,ty),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa)),Ts_1),Tsa))->hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Ea),M),Es)),Ta)))))).
% 46.88/45.93  all Fs_2 Ha A_3 C Fs (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Ha,A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),Fs))->hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Ha),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Ha),A_3),hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),Fs_2)))))).
% 46.88/45.93  all X_a Pa C D (hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa),hAPP(list(char),ty,class,C)),hAPP(list(char),ty,class,D)))<->hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C),D)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))).
% 46.88/45.93  all X_a C D Pa (hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C),D)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))->hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa),hAPP(list(char),ty,class,C)),hAPP(list(char),ty,class,D)))).
% 46.88/45.93  all H_2_1 Fs_2 F D C Fs E_2_1 V_2 H_2 L_2_1 Pa E_1_1 S_0 A_3 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),S_1_1))-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2_1),S_1_1),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2_1)))-> (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_2,A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),Fs))-> (Fs_2=hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),Fs),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F),D)),hAPP(val,option(val),some(val),V_2))-> (H_2_1=hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),H_2),A_3),hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),Fs_2)))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F),D),E_2_1)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2_1),L_2_1)))))))).
% 46.88/45.93  all Pa F D V_2 L_1 Ha A_3 C Fs (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Ha,A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),Fs))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),F),D),hAPP(val,exp(list(char)),val_1(list(char)),V_2))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1)),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Ha),A_3),hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),Fs),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F),D)),hAPP(val,option(val),some(val),V_2)))))),L_1)))).
% 46.88/45.93  all X_a Pa C M Tsa Ta M_1 D (hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C),M),Tsa),Ta),M_1),D))->hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C),D)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))).
% 46.88/45.93  all X_a Ts_1 T_1 M_2 D_1 M Tsa Ta M_1 D C_4 C Pa (hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_4),C)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))-> (hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C),M),Tsa),Ta),M_1),D))-> (hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C_4),M),Ts_1),T_1),M_2),D_1))->hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_1),D)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))))).
% 46.88/45.94  all X_a V V_2 Ta Pa Ha L_1 E (hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(X_a),Pa),Ha),L_1),E))-> (hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Ha),V_2),Ta))->hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(X_a),Pa),Ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_1),V),hAPP(val,option(val),some(val),V_2))),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),E),V),hAPP(ty,option(ty),some(ty),Ta)))))).
% 46.88/45.94  all F D V_2 L_1 Pa Ha A_3 C Fs (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Ha,A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),Fs))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),F),D),hAPP(val,exp(list(char)),val_1(list(char)),V_2))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Ha),A_3),hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),Fs),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F),D)),hAPP(val,option(val),some(val),V_2)))))),L_1)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))).
% 46.88/45.94  all F D C Fs E_2_1 V_2 H_2 L_2_1 E_1_1 S_0 A_3 S_1_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),S_1_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2_1),S_1_1)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2_1)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),Fs))=hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_2,A_3)->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F),D),E_2_1)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),H_2),A_3),hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),Fs),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F),D)),hAPP(val,option(val),some(val),V_2)))))),L_2_1)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))))).
% 46.88/45.94  all C D Fs Pa Ea S_0 A_3 Ha L_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1)))-> (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Ha,A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),D),Fs))-> (-hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D),C)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),Ea)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1)))))).
% 46.88/45.94  all Vsa Pa M Tsa Ta Pns Body D S A_3 C Fs (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C),Fs))-> (hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),Pa),C),M),Tsa),Ta),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),Pns),Body)),D))-> (hAPP(list(val),nat,size_size(list(val)),Vsa)=hAPP(list(list(char)),nat,size_size(list(list(char))),Pns)-> (hAPP(list(ty),nat,size_size(list(ty)),Tsa)=hAPP(list(list(char)),nat,size_size(list(list(char))),Pns)->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),M),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vsa))),S),hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),list(list(char)),hAPP(list(char),fun(list(list(char)),list(list(char))),cons(list(char)),this),Pns)),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),hAPP(list(char),ty,class,D)),Tsa)),hAPP(exp(list(char)),product_prod(list(val),exp(list(char))),hAPP(list(val),fun(exp(list(char)),product_prod(list(val),exp(list(char)))),product_Pair(list(val),exp(list(char))),hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),hAPP(nat,val,addr,A_3)),Vsa)),Body))))),S)))))).
% 46.88/45.94  all Pa Ha E E_1_1 C V E_2_1 Ta (hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C),V),E_2_1)),Ta))-> -(all T_1_1 (hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),E_1_1),T_1_1))-> (hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),E),V),hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,C)))),E_2_1),Ta))-> -hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_1_1),Ta)))))).
% 46.88/45.94  all M Es Vsa S_2 Ea S_0 S_1_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es),S_1_1)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vsa)),S_2))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Ea),M),Es)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_2))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))))).
% 46.88/45.94  all Pa Ea S_0 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_1_1))).
% 46.88/45.94  all Pa S hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S)).
% 46.88/45.94  all C Pa Ea S_0 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),Ea)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1_1))).
% 46.88/45.94  all Pa C S hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),hAPP(val,exp(list(char)),val_1(list(char)),null))),S),hAPP(val,exp(list(char)),val_1(list(char)),null)),S)).
% 46.88/45.94  all F D E_2_1 V_2 S_2 Pa E_1_1 S_0 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_0),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1_1))-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2_1),S_1_1),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S_2))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F),D),E_2_1)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_2)))).
% 46.88/45.94  all F D Pa Ea S_0 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Ea),F),D)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_1_1))).
% 46.88/45.94  all Pa F D V_2 S hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),F),D),hAPP(val,exp(list(char)),val_1(list(char)),V_2))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S)).
% 46.88/45.94  all Pa F D S hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),F),D)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S)).
% 46.88/45.94  all S Pa hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))).
% 46.88/45.94  all Pa M Vsa S hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),M),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vsa))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S)).
% 46.88/45.94  all Ea S S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.94  all F D V_2 S Pa hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),F),D),hAPP(val,exp(list(char)),val_1(list(char)),V_2))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))).
% 46.88/45.94  all F D S Pa hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),F),D)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))).
% 46.88/45.94  all M Ps Vsa S_2 Pa Ea S_0 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1_1))-> (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Ps),S_1_1),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vsa)),S_2))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Ea),M),Ps)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_2)))).
% 46.88/45.94  all F D E_2_1 V_2 S_2 E_1_1 S_0 S_1_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))-> (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2_1),S_1_1)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),S_2))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F),D),E_2_1)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_2))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))))).
% 46.88/45.94  all F D Ea S S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Ea),F),D)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.94  all M Vsa S Pa hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),M),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vsa))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))).
% 46.88/45.94  all C S Pa hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),hAPP(val,exp(list(char)),val_1(list(char)),null))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))).
% 46.88/45.94  all C Ea S S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C),Ea)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.94  all Pa Ea S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S),E_1),S_1))-> ((all A_5 (E_1=hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_5)))-> -hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_5))),S_1))))-> ((E_1=hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))-> -hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1)))-> -(all E_2 (E_1=hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_2)-> -hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_2)),S_1))))))).
% 46.88/45.94  all C_3 (hAPP(ty,val,default_val,hAPP(list(char),ty,class,C_3))=null).
% 46.88/45.94  all Nat_2 Nat_1 (hAPP(nat,val,addr,Nat_2)=hAPP(nat,val,addr,Nat_1)<->Nat_2=Nat_1).
% 46.88/45.94  all Bool_1 Bool (hAPP(bool,val,bool_1,Bool_1)=hAPP(bool,val,bool_1,Bool)<-> (hBOOL(Bool_1)<->hBOOL(Bool))).
% 46.88/45.94  all Nat (hAPP(nat,val,addr,Nat)!=null).
% 46.88/45.94  all Nat (null!=hAPP(nat,val,addr,Nat)).
% 46.88/45.94  all Bool_1 Nat_1 (hAPP(bool,val,bool_1,Bool_1)!=hAPP(nat,val,addr,Nat_1)).
% 46.88/45.94  all Nat_1 Bool_1 (hAPP(nat,val,addr,Nat_1)!=hAPP(bool,val,bool_1,Bool_1)).
% 46.88/45.94  all Nat (unit!=hAPP(nat,val,addr,Nat)).
% 46.88/45.94  all Nat (hAPP(nat,val,addr,Nat)!=unit).
% 46.88/45.94  all Bool (hAPP(bool,val,bool_1,Bool)!=null).
% 46.88/45.94  all Bool (null!=hAPP(bool,val,bool_1,Bool)).
% 46.88/45.94  unit!=null.
% 46.88/45.94  null!=unit.
% 46.88/45.94  all Bool (hAPP(bool,val,bool_1,Bool)!=unit).
% 46.88/45.94  all Bool (unit!=hAPP(bool,val,bool_1,Bool)).
% 46.88/45.94  all X_a Pa Ha C V_2 (V_2!=null-> (hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Ha),V_2),hAPP(list(char),ty,class,C)))-> (exists A_5 C_2 Fs_1 (V_2=hAPP(nat,val,addr,A_5)&hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Ha,A_5)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C_2),Fs_1))&hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_2),C)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))))))).
% 46.88/45.94  all Pa Ha E Ea Ta (hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),Ea),Ta))-> (hBOOL(hAPP(ty,bool,is_refT,Ta))-> (hBOOL(hAPP(exp(list(char)),bool,final(list(char)),Ea))-> (Ea!=hAPP(val,exp(list(char)),val_1(list(char)),null)-> (((exists A_5 (Ea=hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_5))))-> (all C_1 (Ta!=hAPP(list(char),ty,class,C_1))))-> -(all A_5 (Ea!=hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_5)))))))))).
% 46.88/45.94  all Pa Ha E Ea C (hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),Ea),hAPP(list(char),ty,class,C)))-> (hBOOL(hAPP(exp(list(char)),bool,final(list(char)),Ea))-> ((all A_5 (Ea!=hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_5))))-> -(all A_5 (Ea!=hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_5)))))))).
% 46.88/45.94  all V Ea S V_2 H_1 L_2 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_2)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),V),Ea)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_2),V),hAPP(val,option(val),some(val),V_2)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.94  all V Pa Ea S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Ea),S),E_1),S_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),V),Ea)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),V),E_1)),S_1))).
% 46.88/45.94  all X_a Val A_1 Exp (hAPP(val,exp(X_a),val_1(X_a),Val)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_1),Exp)).
% 46.88/45.94  all X_a A_1 Exp Val (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_1),Exp)!=hAPP(val,exp(X_a),val_1(X_a),Val)).
% 46.88/45.94  all X_a Exp A_4 Exp_3 (hAPP(exp(X_a),exp(X_a),throw(X_a),Exp)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_4),Exp_3)).
% 46.88/45.94  all X_a A_4 Exp_3 Exp (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_4),Exp_3)!=hAPP(exp(X_a),exp(X_a),throw(X_a),Exp)).
% 46.88/45.94  all X_a A_4 Exp_3 Exp1_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_4),Exp_3)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1_1),Exp2_1)).
% 46.88/45.94  all X_a Exp1_1 Exp2_1 A_4 Exp_3 (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),se_q(X_a),Exp1_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_4),Exp_3)).
% 46.88/45.94  all X_a Exp List1_1 List2_1 A_4 Exp_3 (hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1_1),List2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_4),Exp_3)).
% 46.88/45.94  all X_a A_4 Exp_3 Exp List1_1 List2_1 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_4),Exp_3)!=hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1_1),List2_1)).
% 46.88/45.94  all X_a Exp1_1 List1_1 List2_1 Exp2_1 A_4 Exp_3 (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1_1),List2_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_4),Exp_3)).
% 46.88/45.94  all X_a A_4 Exp_3 Exp1_1 List1_1 List2_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_4),Exp_3)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1_1),List2_1),Exp2_1)).
% 46.88/45.94  all X_a Exp1 Bop Exp2 A_1 Exp (hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop),Exp2)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_1),Exp)).
% 46.88/45.94  all X_a A_1 Exp Exp1 Bop Exp2 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_1),Exp)!=hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop),Exp2)).
% 46.88/45.94  all X_a A_3 Exp_2 A_2 Exp_1 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_3),Exp_2)=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_2),Exp_1)<->ti(X_a,A_3)=ti(X_a,A_2)&Exp_2=Exp_1).
% 46.88/45.94  all X_a Exp1_1 List A_1 Exp2_1 A_4 Exp_3 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_4),Exp_3)).
% 46.88/45.94  all X_a A_4 Exp_3 Exp1_1 List A_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_4),Exp_3)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)).
% 46.88/45.94  all X_a Exp List1_1 List2_1 A_4 Exp_3 (hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1_1),List2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_4),Exp_3)).
% 46.88/45.94  all X_a A_4 Exp_3 Exp List1_1 List2_1 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_4),Exp_3)!=hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1_1),List2_1)).
% 46.88/45.94  all X_a Exp1_1 Exp2_1 A_4 Exp_3 (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_4),Exp_3)).
% 46.88/45.94  all X_a A_4 Exp_3 Exp1_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_4),Exp_3)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1)).
% 46.88/45.94  all V Pa Ea S_0 E_1 S_1_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1_1))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),V),Ea)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_1_1))).
% 46.88/45.94  all Pa V Ea S hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),V),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S)).
% 46.88/45.94  all X_a A_1 Exp List_1 Exp_3 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_1),Exp)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)).
% 46.88/45.94  all X_a List_1 Exp_3 A_1 Exp (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_1),Exp)).
% 46.88/45.94  all V Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),V),Ea)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),V),E_1)),S_1))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))).
% 46.88/45.94  all V Ea S Pa hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),V),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ea)),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))).
% 46.88/45.94  all V Ea S E_1 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),V),Ea)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),V),E_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.94  all V Ea S A_3 S_1 Pa (hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ea),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_3)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),V),Ea)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_3)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.94  all L_2 V Pa Ea S_0 V_2 Ha L_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S_0),hAPP(val,exp(list(char)),val_1(list(char)),V_2)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1)))-> (L_2=hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_1),V),hAPP(val,option(val),some(val),V_2))->hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),V),Ea)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_2))))).
% 46.88/45.94  all Pa V V_2 Ha L_1 hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),V),hAPP(val,exp(list(char)),val_1(list(char)),V_2))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1)),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_1),V),hAPP(val,option(val),some(val),V_2))))).
% 46.88/45.94  all V V_2 Ha L_1 Pa hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),V),hAPP(val,exp(list(char)),val_1(list(char)),V_2))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),L_1))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_1),V),hAPP(val,option(val),some(val),V_2)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))).
% 46.88/45.94  all V E_2_1 C Pa S A_3 D Fs (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_3)=hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),D),Fs))-> (hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D),C)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))->hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3)))),C),V),E_2_1)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),V),hAPP(list(char),ty,class,C)),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),se_q(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),V),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3)))),E_2_1))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))).
% 46.88/45.94  all Pa V Ea S E_1 S_1 (hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),V),Ea)),S),E_1),S_1))-> ((E_1=hAPP(val,exp(list(char)),val_1(list(char)),unit)-> (all V_1 H L (S_1=hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L),V),hAPP(val,option(val),some(val),V_1)))-> -hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S),hAPP(val,exp(list(char)),val_1(list(char)),V_1)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H),L))))))-> -(all E_2 (E_1=hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_2)-> -hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Ea),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_2)),S_1)))))).
% 46.88/45.95  all Pa Ha E V Ta Ea T_1 (hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),E),V),hAPP(ty,option(ty),some(ty),Ta))),Ea),T_1))->hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Ha),E),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),V),Ta),Ea)),T_1))).
% 46.88/45.95  all X_a A_1 Ty Exp A_4 Exp_3 (hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_1),Ty),Exp)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_4),Exp_3)).
% 46.88/45.95  all X_a A_4 Exp_3 A_1 Ty Exp (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_4),Exp_3)!=hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_1),Ty),Exp)).
% 46.88/45.95  all X_a List_1 Exp_3 A_1 Ty Exp (hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)!=hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_1),Ty),Exp)).
% 46.88/45.95  all X_a A_1 Ty Exp List_1 Exp_3 (hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_1),Ty),Exp)!=hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_3)).
% 46.88/45.95  all Pa V Ta U S hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),V),Ta),hAPP(val,exp(list(char)),val_1(list(char)),U))),S),hAPP(val,exp(list(char)),val_1(list(char)),U)),S)).
% 46.88/45.97  all X_a Exp1_1 Exp2_1 A_4 Ty_3 Exp_3 (hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_4),Ty_3),Exp_3)).
% 46.88/45.97  all X_a A_4 Ty_3 Exp_3 Exp1_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_4),Ty_3),Exp_3)!=hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1)).
% 46.88/45.97  all X_a Exp_3 List1 List2 A_1 Ty Exp (hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_3),List1),List2)!=hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_1),Ty),Exp)).
% 46.88/45.97  all X_a A_1 Ty Exp Exp_3 List1 List2 (hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_1),Ty),Exp)!=hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_3),List1),List2)).
% 46.88/45.97  all X_a A_4 Ty_3 Exp_3 Exp1_1 List A_1 Exp2_1 (hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_4),Ty_3),Exp_3)!=hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)).
% 46.88/45.97  all X_a Exp1_1 List A_1 Exp2_1 A_4 Ty_3 Exp_3 (hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_1),List),A_1),Exp2_1)!=hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_4),Ty_3),Exp_3)).
% 46.88/45.97  all X_a A_3 Ty_2 Exp_2 A_2 Ty_1 Exp_1 (hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_3),Ty_2),Exp_2)=hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_2),Ty_1),Exp_1)<->ti(X_a,A_3)=ti(X_a,A_2)&Ty_2=Ty_1&Exp_2=Exp_1).
% 46.88/45.97  all X_a Exp1 Bop Exp2 A_1 Ty Exp (hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop),Exp2)!=hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_1),Ty),Exp)).
% 46.88/45.97  all X_a A_1 Ty Exp Exp1 Bop Exp2 (hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_1),Ty),Exp)!=hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop),Exp2)).
% 46.88/45.97  all T A (ti(T,ti(T,A))=ti(T,A)).
% 46.88/45.97  hBOOL(fTrue).
% 46.88/45.97  all P (ti(bool,P)=fTrue|ti(bool,P)=fFalse).
% 46.88/45.97  -hBOOL(fFalse).
% 46.88/45.97  all P (ti(bool,P)=fTrue|ti(bool,P)=fFalse).
% 46.88/45.97  all X_a X Y (-hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),fe_qual(X_a),X),Y))|ti(X_a,X)=ti(X_a,Y)).
% 46.88/45.97  all X_a X Y (ti(X_a,X)!=ti(X_a,Y)|hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),fe_qual(X_a),X),Y))).
% 46.88/45.97  hAPP(list(list(char)),nat,size_size(list(list(char))),vs_1)=hAPP(list(ty),nat,size_size(list(ty)),ts).
% 46.88/45.97  hAPP(list(val),nat,size_size(list(val)),vs
% 46.88/45.97  Search stopped in tp_alloc by max_mem option.
% 46.88/45.97  )=hAPP(list(ty),nat,size_size(list(ty)),ts).
% 46.88/45.97  -(hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),h),e_1),hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),vs_1),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),ts),hAPP(exp(list(char)),product_prod(list(val),exp(list(char))),hAPP(list(val),fun(exp(list(char)),product_prod(list(val),exp(list(char)))),product_Pair(list(val),exp(list(char))),vs),e))))),t))<->hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,p),h),hAPP(list(ty),fun(list(char),option(ty)),hAPP(list(list(char)),fun(list(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(list(char)),fun(list(ty),fun(list(char),option(ty)))),map_upds(list(char),ty),e_1),vs_1),ts)),e),t))& (exists Ts (hAPP(list(val),list(option(ty)),hAPP(fun(val,option(ty)),fun(list(val),list(option(ty))),map(val,option(ty)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,option(ty)),typeof_h,h)),vs)=hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),Ts)&hBOOL(hAPP(list(ty),bool,hAPP(list(ty),fun(list(ty),bool),hAPP(fun(ty,fun(ty,bool)),fun(list(ty),fun(list(ty),bool)),list_all2(ty,ty),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),p)),Ts),ts))))).
% 46.88/45.97  end_of_list.
% 46.88/45.97  
% 46.88/45.97  Search stopped in tp_alloc by max_mem option.
% 46.88/45.97  
% 46.88/45.97  ============ end of search ============
% 46.88/45.97  
% 46.88/45.97  -------------- statistics -------------
% 46.88/45.97  clauses given                  0
% 46.88/45.97  clauses generated              0
% 46.88/45.97  clauses kept                   0
% 46.88/45.97  clauses forward subsumed       0
% 46.88/45.97  clauses back subsumed          0
% 46.88/45.97  Kbytes malloced            11718
% 46.88/45.97  
% 46.88/45.97  ----------- times (seconds) -----------
% 46.88/45.97  user CPU time          0.68          (0 hr, 0 min, 0 sec)
% 46.88/45.97  system CPU time        0.01          (0 hr, 0 min, 0 sec)
% 46.88/45.97  wall-clock time       46             (0 hr, 0 min, 46 sec)
% 46.88/45.97  
% 46.88/45.97  Process 1613 finished Wed Jul 27 03:07:22 2022
% 46.88/45.97  Otter interrupted
% 46.88/45.97  PROOF NOT FOUND
%------------------------------------------------------------------------------