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

View Problem - Process Solution

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

% Computer : n005.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 7.23s 7.22s
% Output   : None 
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----No solution output by system
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12  % Problem  : SWW476+5 : TPTP v8.1.0. Released v5.3.0.
% 0.07/0.13  % Command  : otter-tptp-script %s
% 0.12/0.34  % Computer : n005.cluster.edu
% 0.12/0.34  % Model    : x86_64 x86_64
% 0.12/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.34  % Memory   : 8042.1875MB
% 0.12/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.34  % CPULimit : 300
% 0.12/0.34  % WCLimit  : 300
% 0.12/0.34  % DateTime : Wed Jul 27 02:49:35 EDT 2022
% 0.12/0.34  % CPUTime  : 
% 7.15/7.17  ----- Otter 3.3f, August 2004 -----
% 7.15/7.17  The process was started by sandbox on n005.cluster.edu,
% 7.15/7.17  Wed Jul 27 02:49:35 2022
% 7.15/7.17  The command was "./otter".  The process ID is 29340.
% 7.15/7.17  
% 7.15/7.17  set(prolog_style_variables).
% 7.15/7.17  set(auto).
% 7.15/7.17     dependent: set(auto1).
% 7.15/7.17     dependent: set(process_input).
% 7.15/7.17     dependent: clear(print_kept).
% 7.15/7.17     dependent: clear(print_new_demod).
% 7.15/7.17     dependent: clear(print_back_demod).
% 7.15/7.17     dependent: clear(print_back_sub).
% 7.15/7.17     dependent: set(control_memory).
% 7.15/7.17     dependent: assign(max_mem, 12000).
% 7.15/7.17     dependent: assign(pick_given_ratio, 4).
% 7.15/7.17     dependent: assign(stats_level, 1).
% 7.15/7.17     dependent: assign(max_seconds, 10800).
% 7.15/7.17  clear(print_given).
% 7.15/7.17  
% 7.15/7.17  formula_list(usable).
% 7.15/7.17  all A (A=A).
% 7.15/7.17  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.
% 7.15/7.17  ti(fun(exp(list(char)),bool),final(list(char)))=final(list(char)).
% 7.15/7.17  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)).
% 7.15/7.17  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)))).
% 7.15/7.17  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)).
% 7.15/7.17  ti(fun(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))))),tryCatch(list(char)))=tryCatch(list(char)).
% 7.15/7.17  ti(fun(val,exp(list(char))),val_1(list(char)))=val_1(list(char)).
% 7.15/7.17  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)).
% 7.15/7.17  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)).
% 7.15/7.17  all X_a (ti(X_a,undefined(X_a))=undefined(X_a)).
% 7.15/7.17  ti(fun(list(list(char)),bool),distinct(list(char)))=distinct(list(char)).
% 7.15/7.17  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)).
% 7.15/7.17  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)).
% 7.15/7.17  all X_b (ti(fun(list(X_b),fun(X_b,bool)),set(X_b))=set(X_b)).
% 7.15/7.17  all X_b X_a (ti(fun(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))=map_add(X_b,X_a)).
% 7.15/7.17  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)).
% 7.15/7.17  all X_a (ti(fun(list(X_a),nat),size_size(list(X_a)))=size_size(list(X_a))).
% 7.15/7.17  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.
% 7.15/7.17  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.
% 7.15/7.17  all X_a (ti(fun(X_a,option(X_a)),some(X_a))=some(X_a)).
% 7.15/7.17  all X_a (ti(fun(option(X_a),X_a),the(X_a))=the(X_a)).
% 7.15/7.17  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)).
% 7.15/7.17  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)).
% 7.15/7.17  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)).
% 7.15/7.17  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)).
% 7.15/7.17  ti(fun(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char))),blocks)=blocks.
% 7.15/7.17  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.
% 7.15/7.17  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)).
% 7.15/7.17  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)).
% 7.15/7.17  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.
% 7.15/7.17  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.
% 7.15/7.17  all X_a (ti(fun(X_a,fun(X_a,bool)),fe_qual(X_a))=fe_qual(X_a)).
% 7.15/7.17  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)).
% 7.15/7.17  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)).
% 7.15/7.17  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)).
% 7.15/7.17  all B_1_1 (hBOOL(ti(bool,B_1_1))<->hBOOL(B_1_1)).
% 7.15/7.17  all X_b (ti(fun(X_b,fun(fun(X_b,bool),bool)),member(X_b))=member(X_b)).
% 7.15/7.17  ti(fun(list(char),option(ty)),e_1)=e_1.
% 7.15/7.17  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.
% 7.15/7.17  ti(ty,t)=t.
% 7.15/7.17  ti(list(ty),ts)=ts.
% 7.15/7.17  ti(list(list(char)),vs_1)=vs_1.
% 7.15/7.17  ti(exp(list(char)),e)=e.
% 7.15/7.17  ti(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),h)=h.
% 7.15/7.17  ti(list(val),vs)=vs.
% 7.15/7.17  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)).
% 7.15/7.17  all X_m P_2 T_4 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_2),T_4),T_4)).
% 7.15/7.17  all X_a Us 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))->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)))).
% 7.15/7.17  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)).
% 7.15/7.17  all X_a X_b F 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),Xs))=hAPP(list(X_b),nat,size_size(list(X_b)),Xs)).
% 7.15/7.17  all X_b X_a X_c F 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),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)).
% 7.15/7.17  all X_a X_b X_c X_d X_e X_f X_1 Pa ((all A_1 B_1 C_3 D E_3 F_1 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_1),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_3),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),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_3),F_1))))))))->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))).
% 7.15/7.17  all X_a X_b X_c X_d X_e X_f Y (-(all A_1 B_1 C_3 D E_3 F_1 (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_1),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_3),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),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_3),F_1)))))))).
% 7.15/7.17  all X_a X_b X_c X_d X_e X_1 Pa ((all A_1 B_1 C_3 D E_3 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_1),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_3),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),E_3)))))))->hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),bool,Pa,X_1))).
% 7.15/7.17  all X_a X_b X_c X_d X_e Y (-(all A_1 B_1 C_3 D E_3 (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_1),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_3),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),E_3))))))).
% 7.15/7.17  all X_a X_b X_c X_d X_1 Pa ((all A_1 B_1 C_3 D 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_1),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_3),D))))))->hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,X_d))),bool,Pa,X_1))).
% 7.15/7.18  all X_a X_b X_c X_d Y (-(all A_1 B_1 C_3 D (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_1),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_3),D)))))).
% 7.15/7.18  all X_b X_a A_6 B_4 A_5 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_6),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_5),B_3)-> -(ti(X_a,A_6)=ti(X_a,A_5)->ti(X_b,B_4)!=ti(X_b,B_3))).
% 7.15/7.18  all X_b X_a A_2 B A_4 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_2),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_4),B_2)<->ti(X_a,A_2)=ti(X_a,A_4)&ti(X_b,B)=ti(X_b,B_2)).
% 7.15/7.18  all X_a X_b Pa ((all X1 hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,X1)))<-> (all A_1 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_1),B_1))))).
% 7.15/7.18  all X_a Xs_2 Ys_2 (hAPP(list(X_a),nat,size_size(list(X_a)),Xs_2)!=hAPP(list(X_a),nat,size_size(list(X_a)),Ys_2)->Xs_2!=Ys_2).
% 7.15/7.18  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))).
% 7.15/7.18  all X_a T_4 P_2 S_2 U (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_2),S_2),U))-> (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_2),U),T_4))->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_2),S_2),T_4)))).
% 7.15/7.18  all X_a X_b X_c Y (-(all A_1 B_1 C_3 (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_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),B_1),C_3))))).
% 7.15/7.18  all X_a X_b X_c X_1 Pa ((all A_1 B_1 C_3 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_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),B_1),C_3)))))->hBOOL(hAPP(product_prod(X_a,product_prod(X_b,X_c)),bool,Pa,X_1))).
% 7.15/7.18  all X_a Pa Ha Vsa_1 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_1),Ts_1))<-> (exists Ts_2 (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_1)=hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),Ts_2)&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_2),Ts_1))))).
% 7.15/7.18  all X_b X_c X_a F1 A_2 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_2),B))=hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),F1,A_2),B)).
% 7.15/7.18  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_1 Ys_1 (hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Xs_1),Ys_1))->hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Q,Xs_1),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)))).
% 7.15/7.18  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))).
% 7.15/7.18  all X_a Xs Ys Q Pa ((all X_2 Y_1 (hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),Pa,X_2),Y_1))-> (hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),Q,Y_1),X_2))->ti(X_a,X_2)=ti(X_a,Y_1))))-> (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))).
% 7.15/7.18  all X_c X_b X_a Cs As Bs P3 P2 P1 ((all A_1 B_1 C_3 (hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),P1,A_1),B_1))-> (hBOOL(hAPP(X_c,bool,hAPP(X_b,fun(X_c,bool),P2,B_1),C_3))->hBOOL(hAPP(X_c,bool,hAPP(X_a,fun(X_c,bool),P3,A_1),C_3)))))-> (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))))).
% 7.15/7.18  all X_a N_1 exists Xs_1 (hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)=N_1).
% 7.15/7.18  all X_a T_3 Pa Ha V_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),V_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,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa),Ta),T_3))->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_3)))).
% 7.15/7.18  all X_a Pa Ha V_1 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_1)=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_1),Ta))).
% 7.15/7.18  all X_a Ts_1 Pa Ha Vsa_1 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_1),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_1),Ts_1)))).
% 7.15/7.18  all X_a Pa Ha V_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),V_1),Ta))<-> (exists T_2 (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_1)=hAPP(ty,option(ty),some(ty),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),Pa),T_2),Ta))))).
% 7.15/7.18  all X_a X_b Pa ((exists X1 hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,X1)))<-> (exists A_1 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_1),B_1))))).
% 7.15/7.18  all X_a X_b P_1 (-(all X_2 Y_1 (ti(product_prod(X_a,X_b),P_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),X_2),Y_1)))).
% 7.15/7.18  all X_a X_b Y (-(all A_1 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_1),B_1)))).
% 7.15/7.18  all X_b X_c X_a C_2 A_2 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_2),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_2),B))=hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),C_2,A_2),B)).
% 7.15/7.18  all X_a H Pa Ha Vsa_1 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_1),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))->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)),Vsa_1),Tsa)))).
% 7.15/7.18  all Pa Ea Ha L_1 E H L Vsa_1 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_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(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_1),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),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)))-> (exists L_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),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_1))),E),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_3))))))).
% 7.15/7.18  all X_a Pa V_1 Ta Ha H (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))-> (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),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),V_1),Ta)))).
% 7.15/7.18  all V_1 Ta Ha H (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))-> (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_1)=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),V_1)=hAPP(ty,option(ty),some(ty),Ta))).
% 7.15/7.18  all Pa Ea Ha L_1 E H L (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),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)))->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))).
% 7.15/7.18  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)).
% 7.15/7.18  all H Pa Ha E_1 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_1),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))->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),E_1),Ea),Ta)))).
% 7.15/7.18  all H_1 Ha H (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))-> (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),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)))).
% 7.15/7.18  all Pa E_1 Ha V_1 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_1)=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_1),hAPP(val,exp(list(char)),val_1(list(char)),V_1)),Ta))).
% 7.15/7.18  all Ha L_1 Pa Ea Vsa_1 Vsa Tsa (hAPP(list(list(char)),nat,size_size(list(list(char))),Vsa)=hAPP(list(ty),nat,size_size(list(ty)),Tsa)-> (hAPP(list(val),nat,size_size(list(val)),Vsa_1)=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),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_1),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))))))).
% 7.15/7.18  all Pa Ha E_1 Vsa_1 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_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_1)),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_1)=hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),Tsa)).
% 7.15/7.18  all X_a A_2 A_4 (hAPP(X_a,option(X_a),some(X_a),A_2)=hAPP(X_a,option(X_a),some(X_a),A_4)<->ti(X_a,A_2)=ti(X_a,A_4)).
% 7.15/7.18  all X_a X_b F A_2 B (hBOOL(hAPP(product_prod(X_a,X_b),bool,F,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)))->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),A_2),B))).
% 7.15/7.18  all Pa V_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_1)),S_1),hAPP(val,exp(list(char)),val_1(list(char)),V_1)),S_1)).
% 7.15/7.18  all Pa V_1 S_1 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(exp(list(char)),fun(product_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_1)),S_1),E),S))-> -(E=hAPP(val,exp(list(char)),val_1(list(char)),V_1)->S!=S_1)).
% 7.15/7.18  all H Pa Ha E_1 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_1),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))->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),E_1),Es),Tsa)))).
% 7.15/7.18  all Pa Ha E_1 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_1),Es),Tsa))->hAPP(list(exp(list(char))),nat,size_size(list(exp(list(char)))),Es)=hAPP(list(ty),nat,size_size(list(ty)),Tsa)).
% 7.15/7.18  all Pa Ea S_1 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(exp(list(char)),fun(product_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_1),E),S))->hBOOL(hAPP(exp(list(char)),bool,final(list(char)),E))).
% 7.15/7.18  all Pa S_1 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_1),Ea),S_1))).
% 7.15/7.18  all X_b X_a F A_2 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),A_2),B))->hBOOL(hAPP(product_prod(X_a,X_b),bool,F,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)))).
% 7.15/7.18  all X_b X_a F A_2 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),A_2),B))->hBOOL(hAPP(product_prod(X_a,X_b),bool,F,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)))).
% 7.15/7.18  all X_c X_a X_b F A_2 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),A_2),B)=hAPP(product_prod(X_b,X_c),X_a,F,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_2),B))).
% 7.15/7.18  all Ea Ha L_1 E H L 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),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)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))).
% 7.15/7.18  all X_a A_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),A_2),A_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R))).
% 7.15/7.18  all X_a P 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),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),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R)))).
% 7.15/7.18  all E_1 Ta Ea Ha L_1 E H L 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),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)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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_1),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))))).
% 7.15/7.18  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)).
% 7.15/7.18  all X_a C_2 A_2 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_2),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_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),A_2),C_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R))))).
% 7.15/7.18  all X_a C_2 A_2 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_2),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_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),A_2),C_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R))))).
% 7.15/7.18  all X_a C_2 A_2 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_2),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_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),A_2),C_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R))))).
% 7.15/7.18  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_1 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_1),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_1),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_1),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))))).
% 7.15/7.18  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_1 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_1),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_1),B_1))))))->hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Ax),Ay))))).
% 7.15/7.18  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_1 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_1),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_1),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))))))).
% 7.15/7.18  all X_a A_2 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_2),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_2)!=ti(X_a,B)-> -(all Y_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_2),Y_1)),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_1),B)),R)))))).
% 7.15/7.18  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_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),X_1),Y_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),Y_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))))))).
% 7.15/7.18  all X_a Pa A_2 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_2),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_1 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_1),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_1))))))->hBOOL(hAPP(X_a,bool,Pa,A_2))))).
% 7.15/7.18  all X_a Pa A_2 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_2),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_2))-> ((all Y_1 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_2),Y_1)),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_1),Z)),R))-> (hBOOL(hAPP(X_a,bool,Pa,Y_1))->hBOOL(hAPP(X_a,bool,Pa,Z))))))->hBOOL(hAPP(X_a,bool,Pa,B))))).
% 7.15/7.18  all E_1 Ta Ea Ha L_1 E H L 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),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)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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_1),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_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,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),L),E_1))))).
% 7.15/7.18  all L_2 Ea Ha L_1 E H L Pa Vsa_1 Vsa Tsa (hAPP(list(list(char)),nat,size_size(list(list(char))),Vsa)=hAPP(list(ty),nat,size_size(list(ty)),Tsa)-> (hAPP(list(val),nat,size_size(list(val)),Vsa_1)=hAPP(list(ty),nat,size_size(list(ty)),Tsa)-> (hBOOL(hAPP(list(list(char)),bool,distinct(list(char)),Vsa))-> (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),Vsa_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),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)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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))-> (L_2=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),L_1),hAPP(list(list(char)),fun(list(char),bool),set(list(char)),Vsa))->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),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_1),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),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_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)))))))))).
% 7.15/7.18  all X_b X_a F 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),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,X_2)=hAPP(X_b,X_a,G,X_2)))).
% 7.15/7.18  all X_a X_b F G ((all X_2 (hAPP(X_a,X_b,F,X_2)=hAPP(X_a,X_b,G,X_2)))->ti(fun(X_a,X_b),F)=ti(fun(X_a,X_b),G)).
% 7.15/7.18  all X_a X_1 A_3 (hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_3))<->hBOOL(hAPP(X_a,bool,A_3,X_1))).
% 7.15/7.18  all X_a H Pa Ha L_1 E_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),Ha),L_1),E_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))->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),L_1),E_1)))).
% 7.15/7.18  all X_a Pa Ha L_1 E_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),Ha),L_1),E_1))<-> (all V_3 V_2 (hAPP(list(char),option(val),L_1,V_3)=hAPP(val,option(val),some(val),V_2)-> (exists T_1 (hAPP(list(char),option(ty),E_1,V_3)=hAPP(ty,option(ty),some(ty),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))))))).
% 7.15/7.18  all Ea Ha L_1 E H L Pa Vsa_1 Vsa Tsa (hAPP(list(list(char)),nat,size_size(list(list(char))),Vsa)=hAPP(list(ty),nat,size_size(list(ty)),Tsa)-> (hAPP(list(val),nat,size_size(list(val)),Vsa_1)=hAPP(list(ty),nat,size_size(list(ty)),Tsa)-> (hBOOL(hAPP(list(list(char)),bool,distinct(list(char)),Vsa))-> (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),Vsa_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),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)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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),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_1),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),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)),Vsa)),E))))),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(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),L_1),hAPP(list(list(char)),fun(list(char),bool),set(list(char)),Vsa)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))))))).
% 7.15/7.18  all X_a X_c X_b F 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)),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),G))).
% 7.15/7.18  all X_a X_c X_b F 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)),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),G))).
% 7.15/7.18  all X_b X_a X_c F 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),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),G)),Xs)).
% 7.15/7.18  all X_b X_a X_c F G List (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),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))=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),G)),List)).
% 7.15/7.18  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)).
% 7.15/7.18  all X_a X_b Ys F ((exists Xs_1 (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),Xs_1)))<-> (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,Xa)))))).
% 7.15/7.18  all X_b X_a F 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,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),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)).
% 7.15/7.18  all X_b X_a F 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,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),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))).
% 7.15/7.18  all X_a F 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,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),Xs)=Xs).
% 7.15/7.18  all X_b X_a F 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),Xs),Ys),X_1)=hAPP(X_a,option(X_b),F,X_1)).
% 7.15/7.18  all L_0 Ea Ha L_1 E H L 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),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)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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),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(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))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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))))).
% 7.15/7.19  all X_b X_a M 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),N),K)=hAPP(X_a,option(X_a),some(X_a),Xx)).
% 7.15/7.19  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)).
% 7.15/7.19  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)).
% 7.15/7.19  all L_0 Ea Ha L_1 E H L 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),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)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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),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(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))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))).
% 7.15/7.19  all Ha H (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))<-> (all A_1 C_1 Fs (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Ha,A_1)=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))-> (exists Fs_1 (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H,A_1)=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))))))).
% 7.15/7.19  all A_2 C Fs_2 Ha H (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))-> (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Ha,A_2)=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))-> (exists Fs_1 (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H,A_2)=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_1)))))).
% 7.15/7.19  all H Ha ((all A_1 C_1 Fs (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Ha,A_1)=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))-> (exists Fs_1 (hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H,A_1)=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))))))->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))).
% 7.15/7.19  all C V E_2 Ea S_1 V_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)))),Ea),S_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)),S))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)),S_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)),S))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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))))).
% 7.15/7.19  all C V E_2 Ea S_1 E 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)))),Ea),S_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),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)))->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)),S_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)),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),C),V),E_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)))).
% 7.15/7.20  all T A (ti(T,ti(T,A))=ti(T,A)).
% 7.15/7.20  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)).
% 7.15/7.20  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))).
% 7.15/7.20  hAPP(list(list(char)),nat,size_size(list(list(char))),vs_1)=hAPP(list(ty),nat,size_size(list(ty)),ts).
% 7.15/7.20  hAPP(list(val),nat,size_size(list(val)),vs)=hAPP(list(ty),nat,size_size(list(ty)),ts).
% 7.15/7.20  -(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))))).
% 7.15/7.20  end_of_list.
% 7.15/7.20  
% 7.15/7.20  -------> usable clausifies to:
% 7.15/7.20  
% 7.15/7.20  list(usable).
% 7.15/7.20  0 [] A=A.
% 7.15/7.20  0 [] 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.
% 7.15/7.20  0 [] ti(fun(exp(list(char)),bool),final(list(char)))=final(list(char)).
% 7.15/7.20  0 [] 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).
% 7.15/7.20  0 [] 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)))).
% 7.15/7.20  0 [] 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).
% 7.15/7.20  0 [] ti(fun(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))))),tryCatch(list(char)))=tryCatch(list(char)).
% 7.15/7.20  0 [] ti(fun(val,exp(list(char))),val_1(list(char)))=val_1(list(char)).
% 7.15/7.20  0 [] 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).
% 7.15/7.20  0 [] 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)).
% 7.15/7.20  0 [] ti(X_a,undefined(X_a))=undefined(X_a).
% 7.15/7.20  0 [] ti(fun(list(list(char)),bool),distinct(list(char)))=distinct(list(char)).
% 7.15/7.20  0 [] 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).
% 7.15/7.20  0 [] ti(fun(fun(X_b,X_a),fun(list(X_b),list(X_a))),map(X_b,X_a))=map(X_b,X_a).
% 7.15/7.20  0 [] ti(fun(list(X_b),fun(X_b,bool)),set(X_b))=set(X_b).
% 7.15/7.20  0 [] ti(fun(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))=map_add(X_b,X_a).
% 7.15/7.20  0 [] 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).
% 7.15/7.20  0 [] ti(fun(list(X_a),nat),size_size(list(X_a)))=size_size(list(X_a)).
% 7.15/7.20  0 [] 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.
% 7.15/7.20  0 [] 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.
% 7.15/7.20  0 [] ti(fun(X_a,option(X_a)),some(X_a))=some(X_a).
% 7.15/7.20  0 [] ti(fun(option(X_a),X_a),the(X_a))=the(X_a).
% 7.15/7.20  0 [] 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).
% 7.15/7.20  0 [] 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).
% 7.15/7.20  0 [] 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).
% 7.15/7.20  0 [] 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).
% 7.15/7.20  0 [] ti(fun(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char))),blocks)=blocks.
% 7.15/7.20  0 [] 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.
% 7.15/7.20  0 [] 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).
% 7.15/7.20  0 [] 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).
% 7.15/7.20  0 [] 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.
% 7.15/7.20  0 [] 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.
% 7.15/7.20  0 [] ti(fun(X_a,fun(X_a,bool)),fe_qual(X_a))=fe_qual(X_a).
% 7.15/7.20  0 [] 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).
% 7.15/7.20  0 [] 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).
% 7.15/7.20  0 [] 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).
% 7.15/7.20  0 [] -hBOOL(ti(bool,B_1_1))|hBOOL(B_1_1).
% 7.15/7.20  0 [] hBOOL(ti(bool,B_1_1))| -hBOOL(B_1_1).
% 7.15/7.20  0 [] ti(fun(X_b,fun(fun(X_b,bool),bool)),member(X_b))=member(X_b).
% 7.15/7.20  0 [] ti(fun(list(char),option(ty)),e_1)=e_1.
% 7.15/7.20  0 [] 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.
% 7.15/7.20  0 [] ti(ty,t)=t.
% 7.15/7.20  0 [] ti(list(ty),ts)=ts.
% 7.15/7.20  0 [] ti(list(list(char)),vs_1)=vs_1.
% 7.15/7.20  0 [] ti(exp(list(char)),e)=e.
% 7.15/7.20  0 [] ti(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),h)=h.
% 7.15/7.20  0 [] ti(list(val),vs)=vs.
% 7.15/7.20  0 [] 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)).
% 7.15/7.20  0 [] 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_2),T_4),T_4)).
% 7.15/7.20  0 [] -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))|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)).
% 7.15/7.20  0 [] -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).
% 7.15/7.20  0 [] 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),Xs))=hAPP(list(X_b),nat,size_size(list(X_b)),Xs).
% 7.15/7.20  0 [] 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),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).
% 7.15/7.20  0 [] -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))))),$f6(X_a,X_b,X_c,X_d,X_e,X_f,X_1,Pa)),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)))),$f5(X_a,X_b,X_c,X_d,X_e,X_f,X_1,Pa)),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))),$f4(X_a,X_b,X_c,X_d,X_e,X_f,X_1,Pa)),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)),$f3(X_a,X_b,X_c,X_d,X_e,X_f,X_1,Pa)),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),$f2(X_a,X_b,X_c,X_d,X_e,X_f,X_1,Pa)),$f1(X_a,X_b,X_c,X_d,X_e,X_f,X_1,Pa))))))))|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)).
% 7.15/7.20  0 [] 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))))),$f12(X_a,X_b,X_c,X_d,X_e,X_f,Y)),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)))),$f11(X_a,X_b,X_c,X_d,X_e,X_f,Y)),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))),$f10(X_a,X_b,X_c,X_d,X_e,X_f,Y)),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)),$f9(X_a,X_b,X_c,X_d,X_e,X_f,Y)),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),$f8(X_a,X_b,X_c,X_d,X_e,X_f,Y)),$f7(X_a,X_b,X_c,X_d,X_e,X_f,Y)))))).
% 7.15/7.20  0 [] -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)))),$f17(X_a,X_b,X_c,X_d,X_e,X_1,Pa)),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))),$f16(X_a,X_b,X_c,X_d,X_e,X_1,Pa)),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)),$f15(X_a,X_b,X_c,X_d,X_e,X_1,Pa)),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),$f14(X_a,X_b,X_c,X_d,X_e,X_1,Pa)),$f13(X_a,X_b,X_c,X_d,X_e,X_1,Pa)))))))|hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),bool,Pa,X_1)).
% 7.15/7.20  0 [] 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)))),$f22(X_a,X_b,X_c,X_d,X_e,Y)),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))),$f21(X_a,X_b,X_c,X_d,X_e,Y)),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)),$f20(X_a,X_b,X_c,X_d,X_e,Y)),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),$f19(X_a,X_b,X_c,X_d,X_e,Y)),$f18(X_a,X_b,X_c,X_d,X_e,Y))))).
% 7.15/7.20  0 [] -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))),$f26(X_a,X_b,X_c,X_d,X_1,Pa)),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)),$f25(X_a,X_b,X_c,X_d,X_1,Pa)),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),$f24(X_a,X_b,X_c,X_d,X_1,Pa)),$f23(X_a,X_b,X_c,X_d,X_1,Pa))))))|hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,X_d))),bool,Pa,X_1)).
% 7.15/7.20  0 [] 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))),$f30(X_a,X_b,X_c,X_d,Y)),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)),$f29(X_a,X_b,X_c,X_d,Y)),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),$f28(X_a,X_b,X_c,X_d,Y)),$f27(X_a,X_b,X_c,X_d,Y)))).
% 7.15/7.20  0 [] 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_6),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_5),B_3)|ti(X_a,A_6)=ti(X_a,A_5).
% 7.15/7.20  0 [] 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_6),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_5),B_3)|ti(X_b,B_4)=ti(X_b,B_3).
% 7.15/7.20  0 [] 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)!=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_2)|ti(X_a,A_2)=ti(X_a,A_4).
% 7.15/7.20  0 [] 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)!=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_2)|ti(X_b,B)=ti(X_b,B_2).
% 7.15/7.20  0 [] 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)=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_2)|ti(X_a,A_2)!=ti(X_a,A_4)|ti(X_b,B)!=ti(X_b,B_2).
% 7.15/7.20  0 [] -hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,$f31(X_a,X_b,Pa)))|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_1),B_1))).
% 7.15/7.20  0 [] hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,X1))| -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),$f33(X_a,X_b,Pa)),$f32(X_a,X_b,Pa)))).
% 7.15/7.20  0 [] hAPP(list(X_a),nat,size_size(list(X_a)),Xs_2)=hAPP(list(X_a),nat,size_size(list(X_a)),Ys_2)|Xs_2!=Ys_2.
% 7.15/7.20  0 [] 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)).
% 7.15/7.20  0 [] 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)).
% 7.15/7.20  0 [] -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_2),S_2),U))| -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_2),U),T_4))|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_2),S_2),T_4)).
% 7.15/7.20  0 [] 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)),$f36(X_a,X_b,X_c,Y)),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),$f35(X_a,X_b,X_c,Y)),$f34(X_a,X_b,X_c,Y))).
% 7.15/7.20  0 [] -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)),$f39(X_a,X_b,X_c,X_1,Pa)),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),$f38(X_a,X_b,X_c,X_1,Pa)),$f37(X_a,X_b,X_c,X_1,Pa)))))|hBOOL(hAPP(product_prod(X_a,product_prod(X_b,X_c)),bool,Pa,X_1)).
% 7.15/7.20  0 [] -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_1),Ts_1))|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_1)=hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),$f40(X_a,Pa,Ha,Vsa_1,Ts_1)).
% 7.15/7.20  0 [] -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_1),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,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa)),$f40(X_a,Pa,Ha,Vsa_1,Ts_1)),Ts_1)).
% 7.15/7.20  0 [] 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_1),Ts_1))|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_1)!=hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),Ts_2)| -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_2),Ts_1)).
% 7.15/7.20  0 [] 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_2),B))=hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),F1,A_2),B).
% 7.15/7.20  0 [] -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(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,$f42(X_b,X_a,Q,Pa,Xs,Ys)),$f41(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),Q),Xs),Ys)).
% 7.15/7.20  0 [] -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(X_b,bool,hAPP(X_a,fun(X_b,bool),Q,$f42(X_b,X_a,Q,Pa,Xs,Ys)),$f41(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),Q),Xs),Ys)).
% 7.15/7.20  0 [] -hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),Pa,$f43(X_a,Xs,Pa)),$f43(X_a,Xs,Pa)))|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)).
% 7.15/7.20  0 [] hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),Pa,$f45(X_a,Xs,Ys,Q,Pa)),$f44(X_a,Xs,Ys,Q,Pa)))| -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.
% 7.15/7.20  0 [] hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),Q,$f44(X_a,Xs,Ys,Q,Pa)),$f45(X_a,Xs,Ys,Q,Pa)))| -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.
% 7.15/7.20  0 [] ti(X_a,$f45(X_a,Xs,Ys,Q,Pa))!=ti(X_a,$f44(X_a,Xs,Ys,Q,Pa))| -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.
% 7.15/7.20  0 [] hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),P1,$f48(X_c,X_b,X_a,Cs,As,Bs,P3,P2,P1)),$f47(X_c,X_b,X_a,Cs,As,Bs,P3,P2,P1)))| -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)).
% 7.15/7.20  0 [] hBOOL(hAPP(X_c,bool,hAPP(X_b,fun(X_c,bool),P2,$f47(X_c,X_b,X_a,Cs,As,Bs,P3,P2,P1)),$f46(X_c,X_b,X_a,Cs,As,Bs,P3,P2,P1)))| -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)).
% 7.15/7.20  0 [] -hBOOL(hAPP(X_c,bool,hAPP(X_a,fun(X_c,bool),P3,$f48(X_c,X_b,X_a,Cs,As,Bs,P3,P2,P1)),$f46(X_c,X_b,X_a,Cs,As,Bs,P3,P2,P1)))| -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)).
% 7.15/7.20  0 [] hAPP(list(X_a),nat,size_size(list(X_a)),$f49(X_a,N_1))=N_1.
% 7.15/7.20  0 [] -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),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_3))|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_3)).
% 7.15/7.20  0 [] 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_1)!=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_1),Ta)).
% 7.15/7.20  0 [] -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_1),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_1),Ts_1)).
% 7.15/7.20  0 [] -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),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_1)=hAPP(ty,option(ty),some(ty),$f50(X_a,Pa,Ha,V_1,Ta)).
% 7.15/7.20  0 [] -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),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),$f50(X_a,Pa,Ha,V_1,Ta)),Ta)).
% 7.15/7.20  0 [] 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),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_1)!=hAPP(ty,option(ty),some(ty),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),Pa),T_2),Ta)).
% 7.15/7.20  0 [] -hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,X1))|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),$f52(X_a,X_b,Pa)),$f51(X_a,X_b,Pa)))).
% 7.15/7.20  0 [] hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,$f53(X_a,X_b,Pa)))| -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_1),B_1))).
% 7.15/7.20  0 [] ti(product_prod(X_a,X_b),P_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),$f55(X_a,X_b,P_1)),$f54(X_a,X_b,P_1)).
% 7.15/7.20  0 [] 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),$f57(X_a,X_b,Y)),$f56(X_a,X_b,Y)).
% 7.15/7.20  0 [] 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_2),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_2),B))=hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),C_2,A_2),B).
% 7.15/7.20  0 [] -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_1),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))|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)),Vsa_1),Tsa)).
% 7.15/7.20  0 [] 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_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(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_1),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),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)))|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_1))),E),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),$f58(Pa,Ea,Ha,L_1,E,H,L,Vsa_1,Ps,Tsa)))).
% 7.15/7.20  0 [] -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))| -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),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),V_1),Ta)).
% 7.15/7.20  0 [] -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))|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_1)!=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),V_1)=hAPP(ty,option(ty),some(ty),Ta).
% 7.15/7.20  0 [] -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),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)))|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)).
% 7.15/7.20  0 [] 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)).
% 7.15/7.20  0 [] -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_1),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))|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),E_1),Ea),Ta)).
% 7.15/7.20  0 [] -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))| -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),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)).
% 7.15/7.20  0 [] 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_1)!=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_1),hAPP(val,exp(list(char)),val_1(list(char)),V_1)),Ta)).
% 7.15/7.20  0 [] hAPP(list(list(char)),nat,size_size(list(list(char))),Vsa)!=hAPP(list(ty),nat,size_size(list(ty)),Tsa)|hAPP(list(val),nat,size_size(list(val)),Vsa_1)!=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),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_1),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)))).
% 7.15/7.20  0 [] -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_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_1)),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_1)=hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),Tsa).
% 7.15/7.20  0 [] 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_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_1)),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_1)!=hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),Tsa).
% 7.15/7.20  0 [] hAPP(X_a,option(X_a),some(X_a),A_2)!=hAPP(X_a,option(X_a),some(X_a),A_4)|ti(X_a,A_2)=ti(X_a,A_4).
% 7.15/7.20  0 [] hAPP(X_a,option(X_a),some(X_a),A_2)=hAPP(X_a,option(X_a),some(X_a),A_4)|ti(X_a,A_2)!=ti(X_a,A_4).
% 7.15/7.20  0 [] -hBOOL(hAPP(product_prod(X_a,X_b),bool,F,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)))|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),A_2),B)).
% 7.15/7.20  0 [] 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_1)),S_1),hAPP(val,exp(list(char)),val_1(list(char)),V_1)),S_1)).
% 7.15/7.20  0 [] -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_1)),S_1),E),S))|E=hAPP(val,exp(list(char)),val_1(list(char)),V_1).
% 7.15/7.20  0 [] -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_1)),S_1),E),S))|S=S_1.
% 7.15/7.20  0 [] -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_1),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))|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),E_1),Es),Tsa)).
% 7.15/7.20  0 [] -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_1),Es),Tsa))|hAPP(list(exp(list(char))),nat,size_size(list(exp(list(char)))),Es)=hAPP(list(ty),nat,size_size(list(ty)),Tsa).
% 7.15/7.20  0 [] -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_1),E),S))|hBOOL(hAPP(exp(list(char)),bool,final(list(char)),E)).
% 7.15/7.20  0 [] -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_1),Ea),S_1)).
% 7.15/7.20  0 [] -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),A_2),B))|hBOOL(hAPP(product_prod(X_a,X_b),bool,F,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))).
% 7.15/7.20  0 [] -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),A_2),B))|hBOOL(hAPP(product_prod(X_a,X_b),bool,F,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))).
% 7.15/7.20  0 [] 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),A_2),B)=hAPP(product_prod(X_b,X_c),X_a,F,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_2),B)).
% 7.15/7.20  0 [] -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),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)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)).
% 7.15/7.20  0 [] 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_2),A_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R))).
% 7.15/7.20  0 [] -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),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),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R))).
% 7.15/7.20  0 [] -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),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)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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_1),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)).
% 7.15/7.20  0 [] 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).
% 7.15/7.20  0 [] -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_2),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_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),A_2),C_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R))).
% 7.15/7.20  0 [] -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_2),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_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),A_2),C_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R))).
% 7.15/7.20  0 [] -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_2),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_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),A_2),C_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R))).
% 7.15/7.20  0 [] -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))|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),$f62(X_a,X_b,Pa,Ax,Ay,Bx,By,R)),$f61(X_a,X_b,Pa,Ax,Ay,Bx,By,R)))),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)).
% 7.15/7.20  0 [] -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))|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),$f62(X_a,X_b,Pa,Ax,Ay,Bx,By,R)),$f61(X_a,X_b,Pa,Ax,Ay,Bx,By,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),$f60(X_a,X_b,Pa,Ax,Ay,Bx,By,R)),$f59(X_a,X_b,Pa,Ax,Ay,Bx,By,R)))),R))|hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Bx),By)).
% 7.15/7.20  0 [] -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))|hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,$f62(X_a,X_b,Pa,Ax,Ay,Bx,By,R)),$f61(X_a,X_b,Pa,Ax,Ay,Bx,By,R)))|hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Bx),By)).
% 7.15/7.20  0 [] -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))| -hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,$f60(X_a,X_b,Pa,Ax,Ay,Bx,By,R)),$f59(X_a,X_b,Pa,Ax,Ay,Bx,By,R)))|hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Bx),By)).
% 7.15/7.20  0 [] -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))|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),$f66(X_a,X_b,Pa,Ax,Ay,Bx,By,R)),$f65(X_a,X_b,Pa,Ax,Ay,Bx,By,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),$f64(X_a,X_b,Pa,Ax,Ay,Bx,By,R)),$f63(X_a,X_b,Pa,Ax,Ay,Bx,By,R)))),R))|hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Ax),Ay)).
% 7.15/7.20  0 [] -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))|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),$f64(X_a,X_b,Pa,Ax,Ay,Bx,By,R)),$f63(X_a,X_b,Pa,Ax,Ay,Bx,By,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),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)).
% 7.15/7.20  0 [] -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))|hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,$f64(X_a,X_b,Pa,Ax,Ay,Bx,By,R)),$f63(X_a,X_b,Pa,Ax,Ay,Bx,By,R)))|hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Ax),Ay)).
% 7.15/7.20  0 [] -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))| -hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,$f66(X_a,X_b,Pa,Ax,Ay,Bx,By,R)),$f65(X_a,X_b,Pa,Ax,Ay,Bx,By,R)))|hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Ax),Ay)).
% 7.15/7.20  0 [] -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)|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),$f68(X_a,X_b,Xa_1,Xb,Za,Zb,R)),$f67(X_a,X_b,Xa_1,Xb,Za,Zb,R)))),R)).
% 7.15/7.20  0 [] -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)|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),$f68(X_a,X_b,Xa_1,Xb,Za,Zb,R)),$f67(X_a,X_b,Xa_1,Xb,Za,Zb,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),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))).
% 7.15/7.20  0 [] -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_2),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_2)=ti(X_a,B)|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_2),$f69(X_a,A_2,B,R))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R))).
% 7.15/7.20  0 [] -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_2),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_2)=ti(X_a,B)|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),$f69(X_a,A_2,B,R)),B)),R)).
% 7.15/7.20  0 [] -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)|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),$f70(X_a,X_1,Z_1,R))),R)).
% 7.15/7.20  0 [] -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)|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),$f70(X_a,X_1,Z_1,R)),Z_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R))).
% 7.15/7.20  0 [] -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_2),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))|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),$f72(X_a,Pa,A_2,B,R)),$f71(X_a,Pa,A_2,B,R))),R))|hBOOL(hAPP(X_a,bool,Pa,A_2)).
% 7.15/7.20  0 [] -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_2),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))|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),$f71(X_a,Pa,A_2,B,R)),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_2)).
% 7.15/7.20  0 [] -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_2),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))|hBOOL(hAPP(X_a,bool,Pa,$f71(X_a,Pa,A_2,B,R)))|hBOOL(hAPP(X_a,bool,Pa,A_2)).
% 7.15/7.20  0 [] -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_2),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))| -hBOOL(hAPP(X_a,bool,Pa,$f72(X_a,Pa,A_2,B,R)))|hBOOL(hAPP(X_a,bool,Pa,A_2)).
% 7.15/7.20  0 [] -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_2),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_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_2),$f74(X_a,Pa,A_2,B,R))),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)).
% 7.15/7.20  0 [] -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_2),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_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),$f74(X_a,Pa,A_2,B,R)),$f73(X_a,Pa,A_2,B,R))),R))|hBOOL(hAPP(X_a,bool,Pa,B)).
% 7.15/7.20  0 [] -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_2),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_2))|hBOOL(hAPP(X_a,bool,Pa,$f74(X_a,Pa,A_2,B,R)))|hBOOL(hAPP(X_a,bool,Pa,B)).
% 7.15/7.20  0 [] -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_2),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_2))| -hBOOL(hAPP(X_a,bool,Pa,$f73(X_a,Pa,A_2,B,R)))|hBOOL(hAPP(X_a,bool,Pa,B)).
% 7.15/7.20  0 [] -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),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)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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_1),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_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,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),L),E_1)).
% 7.15/7.20  0 [] hAPP(list(list(char)),nat,size_size(list(list(char))),Vsa)!=hAPP(list(ty),nat,size_size(list(ty)),Tsa)|hAPP(list(val),nat,size_size(list(val)),Vsa_1)!=hAPP(list(ty),nat,size_size(list(ty)),Tsa)| -hBOOL(hAPP(list(list(char)),bool,distinct(list(char)),Vsa))| -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),Vsa_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),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)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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))|L_2!=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),L_1),hAPP(list(list(char)),fun(list(char),bool),set(list(char)),Vsa))|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),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_1),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),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_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)))).
% 7.15/7.20  0 [] 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),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)| -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,X_2)=hAPP(X_b,X_a,G,X_2).
% 7.15/7.20  0 [] 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),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)|hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),$f75(X_b,X_a,F,Xs,G)),hAPP(list(X_b),fun(X_b,bool),set(X_b),Xs))).
% 7.15/7.20  0 [] 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),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)|hAPP(X_b,X_a,F,$f75(X_b,X_a,F,Xs,G))!=hAPP(X_b,X_a,G,$f75(X_b,X_a,F,Xs,G)).
% 7.15/7.20  0 [] hAPP(X_a,X_b,F,$f76(X_a,X_b,F,G))!=hAPP(X_a,X_b,G,$f76(X_a,X_b,F,G))|ti(fun(X_a,X_b),F)=ti(fun(X_a,X_b),G).
% 7.15/7.20  0 [] -hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_3))|hBOOL(hAPP(X_a,bool,A_3,X_1)).
% 7.15/7.20  0 [] hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_3))| -hBOOL(hAPP(X_a,bool,A_3,X_1)).
% 7.15/7.20  0 [] -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_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))|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),L_1),E_1)).
% 7.15/7.20  0 [] -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_1))|hAPP(list(char),option(val),L_1,V_3)!=hAPP(val,option(val),some(val),V_2)|hAPP(list(char),option(ty),E_1,V_3)=hAPP(ty,option(ty),some(ty),$f77(X_a,Pa,Ha,L_1,E_1,V_3,V_2)).
% 7.15/7.20  0 [] -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_1))|hAPP(list(char),option(val),L_1,V_3)!=hAPP(val,option(val),some(val),V_2)|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),$f77(X_a,Pa,Ha,L_1,E_1,V_3,V_2))).
% 7.15/7.20  0 [] 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_1))|hAPP(list(char),option(val),L_1,$f79(X_a,Pa,Ha,L_1,E_1))=hAPP(val,option(val),some(val),$f78(X_a,Pa,Ha,L_1,E_1)).
% 7.15/7.20  0 [] 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_1))|hAPP(list(char),option(ty),E_1,$f79(X_a,Pa,Ha,L_1,E_1))!=hAPP(ty,option(ty),some(ty),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),$f78(X_a,Pa,Ha,L_1,E_1)),T_1)).
% 7.23/7.21  0 [] hAPP(list(list(char)),nat,size_size(list(list(char))),Vsa)!=hAPP(list(ty),nat,size_size(list(ty)),Tsa)|hAPP(list(val),nat,size_size(list(val)),Vsa_1)!=hAPP(list(ty),nat,size_size(list(ty)),Tsa)| -hBOOL(hAPP(list(list(char)),bool,distinct(list(char)),Vsa))| -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),Vsa_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),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)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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),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_1),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),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)),Vsa)),E))))),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(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),L_1),hAPP(list(list(char)),fun(list(char),bool),set(list(char)),Vsa)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))).
% 7.23/7.21  0 [] 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)),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),G)).
% 7.23/7.21  0 [] 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)),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),G)).
% 7.23/7.21  0 [] 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),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),G)),Xs).
% 7.23/7.21  0 [] 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),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))=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),G)),List).
% 7.23/7.21  0 [] hAPP(option(X_a),X_a,the(X_a),hAPP(X_a,option(X_a),some(X_a),X))=ti(X_a,X).
% 7.23/7.21  0 [] 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),Xs_1)| -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)))|ti(X_b,X_2)=hAPP(X_a,X_b,F,$f80(X_a,X_b,Ys,F,X_2)).
% 7.23/7.21  0 [] 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),$f81(X_a,X_b,Ys,F))|hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),$f82(X_a,X_b,Ys,F)),hAPP(list(X_b),fun(X_b,bool),set(X_b),Ys))).
% 7.23/7.21  0 [] 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),$f81(X_a,X_b,Ys,F))|ti(X_b,$f82(X_a,X_b,Ys,F))!=hAPP(X_a,X_b,F,Xa).
% 7.23/7.21  0 [] hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),$f83(X_b,X_a,F,G,Xs)),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),F),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).
% 7.23/7.21  0 [] hAPP(X_a,X_b,F,$f83(X_b,X_a,F,G,Xs))!=hAPP(X_a,X_b,G,$f83(X_b,X_a,F,G,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),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).
% 7.23/7.21  0 [] Xs!=Ys|hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),$f84(X_b,X_a,F,G,Xs,Ys)),hAPP(list(X_a),fun(X_a,bool),set(X_a),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),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).
% 7.23/7.21  0 [] Xs!=Ys|hAPP(X_a,X_b,F,$f84(X_b,X_a,F,G,Xs,Ys))!=hAPP(X_a,X_b,G,$f84(X_b,X_a,F,G,Xs,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),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).
% 7.23/7.21  0 [] hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),$f85(X_a,F,Xs)),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))|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),Xs)=Xs.
% 7.23/7.21  0 [] hAPP(X_a,X_a,F,$f85(X_a,F,Xs))!=ti(X_a,$f85(X_a,F,Xs))|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),Xs)=Xs.
% 7.23/7.21  0 [] 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),Xs),Ys),X_1)=hAPP(X_a,option(X_b),F,X_1).
% 7.23/7.21  0 [] -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),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)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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),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(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))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))).
% 7.23/7.21  0 [] 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),N),K)=hAPP(X_a,option(X_a),some(X_a),Xx).
% 7.23/7.21  0 [] 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).
% 7.23/7.21  0 [] 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).
% 7.23/7.21  0 [] -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),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)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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),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(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))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))).
% 7.23/7.21  0 [] -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))|hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Ha,A_1)!=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))|hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H,A_1)=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),$f86(Ha,H,A_1,C_1,Fs))).
% 7.23/7.21  0 [] 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))|hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Ha,$f89(Ha,H))=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))),$f88(Ha,H)),$f87(Ha,H))).
% 7.23/7.21  0 [] 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))|hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H,$f89(Ha,H))!=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))),$f88(Ha,H)),Fs_1)).
% 7.23/7.21  0 [] -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))|hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Ha,A_2)!=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))|hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H,A_2)=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),$f90(A_2,C,Fs_2,Ha,H))).
% 7.23/7.21  0 [] hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Ha,$f93(H,Ha))=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))),$f92(H,Ha)),$f91(H,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),H)).
% 7.23/7.21  0 [] hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H,$f93(H,Ha))!=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))),$f92(H,Ha)),Fs_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)).
% 7.23/7.21  0 [] -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_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)),S))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)),S_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)),S))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))).
% 7.23/7.21  0 [] -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_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),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)))|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)),S_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)),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),C),V),E_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))).
% 7.23/7.21  0 [] ti(T,ti(T,A))=ti(T,A).
% 7.23/7.21  0 [] -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).
% 7.23/7.21  0 [] 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)).
% 7.23/7.21  0 [] hAPP(list(list(char)),nat,size_size(list(list(char))),vs_1)=hAPP(list(ty),nat,size_size(list(ty)),ts).
% 7.23/7.21  0 [] hAPP(list(val),nat,size_size(list(val)),vs)=hAPP(list(ty),nat,size_size(list(ty)),ts).
% 7.23/7.21  0 [] 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)).
% 7.23/7.21  0 [] 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))|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)),$c1).
% 7.23/7.21  0 [] 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(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)),$c1),ts)).
% 7.23/7.21  0 [] -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))|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)).
% 7.23/7.21  end_of_list.
% 7.23/7.21  
% 7.23/7.21  SCAN INPUT: prop=0, horn=0, equality=1, symmetry=0, max_lits=7.
% 7.23/7.21  
% 7.23/7.21  This ia a non-Horn set with equality.  The strategy will be
% 7.23/7.21  Knuth-Bendix, ordered hyper_res, factoring, and unit
% 7.23/7.21  deletion, with positive clauses in sos and nonpositive
% 7.23/7.21  clauses in usable.
% 7.23/7.21  
% 7.23/7.21     dependent: set(knuth_bendix).
% 7.23/7.21     dependent: set(anl_eq).
% 7.23/7.21     dependent: set(para_from).
% 7.23/7.21     dependent: set(para_into).
% 7.23/7.21     dependent: clear(para_from_right).
% 7.23/7.21     dependent: clear(para_into_right).
% 7.23/7.21     dependent: set(para_from_vars).
% 7.23/7.21     dependent: set(eq_units_both_ways).
% 7.23/7.21     dependent: set(dynamic_demod_all).
% 7.23/7.21     dependent: set(dynamic_demod).
% 7.23/7.21     dependent: set(order_eq).
% 7.23/7.21     dependent: set(back_demod).
% 7.23/7.21     dependent: set(lrpo).
% 7.23/7.21     dependent: set(hyper_res).
% 7.23/7.21     dependent: set(unit_deletion).
% 7.23/7.21     dependent: set(factor).
% 7.23/7.21  
% 7.23/7.21  ------------> process usable:
% 7.23/7.21  ** KEPT (pick-wt=6): 1 [] -hBOOL(ti(bool,A))|hBOOL(A).
% 7.23/7.21  ** KEPT (pick-wt=6): 2 [] hBOOL(ti(bool,A))| -hBOOL(A).
% 7.23/7.21  ** KEPT (pick-wt=186): 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,A)))))))),fun(ty,fun(ty,bool)),widen(A),B)),C),D))| -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,A)))))))),fun(ty,fun(ty,bool)),widen(A),B)),D),E))|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,A)))))))),fun(ty,fun(ty,bool)),widen(A),B)),C),E)).
% 7.23/7.21  ** KEPT (pick-wt=48): 4 [] -hBOOL(hAPP(list(A),bool,hAPP(list(B),fun(list(A),bool),hAPP(fun(B,fun(A,bool)),fun(list(B),fun(list(A),bool)),list_all2(B,A),C),D),E))|hAPP(list(B),nat,size_size(list(B)),D)=hAPP(list(A),nat,size_size(list(A)),E).
% 7.23/7.21  ** KEPT (pick-wt=56): 5 [] hAPP(list(A),list(B),hAPP(fun(A,B),fun(list(A),list(B)),map(A,B),C),D)!=hAPP(list(E),list(B),hAPP(fun(E,B),fun(list(E),list(B)),map(E,B),F),G)|hAPP(list(A),nat,size_size(list(A)),D)=hAPP(list(E),nat,size_size(list(E)),G).
% 7.23/7.21  ** KEPT (pick-wt=260): 6 [] -hBOOL(hAPP(product_prod(A,product_prod(B,product_prod(C,product_prod(D,product_prod(E,F))))),bool,G,hAPP(product_prod(B,product_prod(C,product_prod(D,product_prod(E,F)))),product_prod(A,product_prod(B,product_prod(C,product_prod(D,product_prod(E,F))))),hAPP(A,fun(product_prod(B,product_prod(C,product_prod(D,product_prod(E,F)))),product_prod(A,product_prod(B,product_prod(C,product_prod(D,product_prod(E,F)))))),product_Pair(A,product_prod(B,product_prod(C,product_prod(D,product_prod(E,F))))),$f6(A,B,C,D,E,F,H,G)),hAPP(product_prod(C,product_prod(D,product_prod(E,F))),product_prod(B,product_prod(C,product_prod(D,product_prod(E,F)))),hAPP(B,fun(product_prod(C,product_prod(D,product_prod(E,F))),product_prod(B,product_prod(C,product_prod(D,product_prod(E,F))))),product_Pair(B,product_prod(C,product_prod(D,product_prod(E,F)))),$f5(A,B,C,D,E,F,H,G)),hAPP(product_prod(D,product_prod(E,F)),product_prod(C,product_prod(D,product_prod(E,F))),hAPP(C,fun(product_prod(D,product_prod(E,F)),product_prod(C,product_prod(D,product_prod(E,F)))),product_Pair(C,product_prod(D,product_prod(E,F))),$f4(A,B,C,D,E,F,H,G)),hAPP(product_prod(E,F),product_prod(D,product_prod(E,F)),hAPP(D,fun(product_prod(E,F),product_prod(D,product_prod(E,F))),product_Pair(D,product_prod(E,F)),$f3(A,B,C,D,E,F,H,G)),hAPP(F,product_prod(E,F),hAPP(E,fun(F,product_prod(E,F)),product_Pair(E,F),$f2(A,B,C,D,E,F,H,G)),$f1(A,B,C,D,E,F,H,G))))))))|hBOOL(hAPP(product_prod(A,product_prod(B,product_prod(C,product_prod(D,product_prod(E,F))))),bool,G,H)).
% 7.23/7.22  ** KEPT (pick-wt=187): 7 [] -hBOOL(hAPP(product_prod(A,product_prod(B,product_prod(C,product_prod(D,E)))),bool,F,hAPP(product_prod(B,product_prod(C,product_prod(D,E))),product_prod(A,product_prod(B,product_prod(C,product_prod(D,E)))),hAPP(A,fun(product_prod(B,product_prod(C,product_prod(D,E))),product_prod(A,product_prod(B,product_prod(C,product_prod(D,E))))),product_Pair(A,product_prod(B,product_prod(C,product_prod(D,E)))),$f17(A,B,C,D,E,G,F)),hAPP(product_prod(C,product_prod(D,E)),product_prod(B,product_prod(C,product_prod(D,E))),hAPP(B,fun(product_prod(C,product_prod(D,E)),product_prod(B,product_prod(C,product_prod(D,E)))),product_Pair(B,product_prod(C,product_prod(D,E))),$f16(A,B,C,D,E,G,F)),hAPP(product_prod(D,E),product_prod(C,product_prod(D,E)),hAPP(C,fun(product_prod(D,E),product_prod(C,product_prod(D,E))),product_Pair(C,product_prod(D,E)),$f15(A,B,C,D,E,G,F)),hAPP(E,product_prod(D,E),hAPP(D,fun(E,product_prod(D,E)),product_Pair(D,E),$f14(A,B,C,D,E,G,F)),$f13(A,B,C,D,E,G,F)))))))|hBOOL(hAPP(product_prod(A,product_prod(B,product_prod(C,product_prod(D,E)))),bool,F,G)).
% 7.23/7.22  ** KEPT (pick-wt=126): 8 [] -hBOOL(hAPP(product_prod(A,product_prod(B,product_prod(C,D))),bool,E,hAPP(product_prod(B,product_prod(C,D)),product_prod(A,product_prod(B,product_prod(C,D))),hAPP(A,fun(product_prod(B,product_prod(C,D)),product_prod(A,product_prod(B,product_prod(C,D)))),product_Pair(A,product_prod(B,product_prod(C,D))),$f26(A,B,C,D,F,E)),hAPP(product_prod(C,D),product_prod(B,product_prod(C,D)),hAPP(B,fun(product_prod(C,D),product_prod(B,product_prod(C,D))),product_Pair(B,product_prod(C,D)),$f25(A,B,C,D,F,E)),hAPP(D,product_prod(C,D),hAPP(C,fun(D,product_prod(C,D)),product_Pair(C,D),$f24(A,B,C,D,F,E)),$f23(A,B,C,D,F,E))))))|hBOOL(hAPP(product_prod(A,product_prod(B,product_prod(C,D))),bool,E,F)).
% 7.23/7.22  ** KEPT (pick-wt=42): 9 [] hAPP(A,product_prod(B,A),hAPP(B,fun(A,product_prod(B,A)),product_Pair(B,A),C),D)!=hAPP(A,product_prod(B,A),hAPP(B,fun(A,product_prod(B,A)),product_Pair(B,A),E),F)|ti(B,C)=ti(B,E).
% 7.23/7.22  ** KEPT (pick-wt=42): 10 [] hAPP(A,product_prod(B,A),hAPP(B,fun(A,product_prod(B,A)),product_Pair(B,A),C),D)!=hAPP(A,product_prod(B,A),hAPP(B,fun(A,product_prod(B,A)),product_Pair(B,A),E),F)|ti(A,D)=ti(A,F).
% 7.23/7.22    Following clause subsumed by 9 during input processing: 0 [] hAPP(A,product_prod(B,A),hAPP(B,fun(A,product_prod(B,A)),product_Pair(B,A),C),D)!=hAPP(A,product_prod(B,A),hAPP(B,fun(A,product_prod(B,A)),product_Pair(B,A),E),F)|ti(B,C)=ti(B,E).
% 7.23/7.22    Following clause subsumed by 10 during input processing: 0 [] hAPP(A,product_prod(B,A),hAPP(B,fun(A,product_prod(B,A)),product_Pair(B,A),C),D)!=hAPP(A,product_prod(B,A),hAPP(B,fun(A,product_prod(B,A)),product_Pair(B,A),E),F)|ti(A,D)=ti(A,F).
% 7.23/7.22  ** KEPT (pick-wt=49): 11 [] hAPP(A,product_prod(B,A),hAPP(B,fun(A,product_prod(B,A)),product_Pair(B,A),C),D)=hAPP(A,product_prod(B,A),hAPP(B,fun(A,product_prod(B,A)),product_Pair(B,A),E),F)|ti(B,C)!=ti(B,E)|ti(A,D)!=ti(A,F).
% 7.23/7.22  ** KEPT (pick-wt=35): 12 [] -hBOOL(hAPP(product_prod(A,B),bool,C,$f31(A,B,C)))|hBOOL(hAPP(product_prod(A,B),bool,C,hAPP(B,product_prod(A,B),hAPP(A,fun(B,product_prod(A,B)),product_Pair(A,B),D),E))).
% 7.23/7.22  ** KEPT (pick-wt=38): 13 [] hBOOL(hAPP(product_prod(A,B),bool,C,D))| -hBOOL(hAPP(product_prod(A,B),bool,C,hAPP(B,product_prod(A,B),hAPP(A,fun(B,product_prod(A,B)),product_Pair(A,B),$f33(A,B,C)),$f32(A,B,C)))).
% 7.23/7.22  ** KEPT (pick-wt=20): 14 [] hAPP(list(A),nat,size_size(list(A)),B)=hAPP(list(A),nat,size_size(list(A)),C)|B!=C.
% 7.23/7.22  ** KEPT (pick-wt=35): 15 [] A!=B|hBOOL(hAPP(list(C),bool,hAPP(list(C),fun(list(C),bool),hAPP(fun(C,fun(C,bool)),fun(list(C),fun(list(C),bool)),list_all2(C,C),fe_qual(C)),A),B)).
% 7.23/7.22  ** KEPT (pick-wt=35): 16 [] A=B| -hBOOL(hAPP(list(C),bool,hAPP(list(C),fun(list(C),bool),hAPP(fun(C,fun(C,bool)),fun(list(C),fun(list(C),bool)),list_all2(C,C),fe_qual(C)),A),B)).
% 7.23/7.22  ** KEPT (pick-wt=129): 17 [] -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,A)))))))),fun(ty,fun(ty,bool)),widen(A),B),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,A)))))))),fun(ty,fun(ty,bool)),widen(A),B),D),E))|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,A)))))))),fun(ty,fun(ty,bool)),widen(A),B),C),E)).
% 7.23/7.22  ** KEPT (pick-wt=77): 18 [] -hBOOL(hAPP(product_prod(A,product_prod(B,C)),bool,D,hAPP(product_prod(B,C),product_prod(A,product_prod(B,C)),hAPP(A,fun(product_prod(B,C),product_prod(A,product_prod(B,C))),product_Pair(A,product_prod(B,C)),$f39(A,B,C,E,D)),hAPP(C,product_prod(B,C),hAPP(B,fun(C,product_prod(B,C)),product_Pair(B,C),$f38(A,B,C,E,D)),$f37(A,B,C,E,D)))))|hBOOL(hAPP(product_prod(A,product_prod(B,C)),bool,D,E)).
% 7.23/7.22  ** KEPT (pick-wt=171): 19 [] -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,A)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(A),B),C)),D),E))|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,C)),D)=hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),$f40(A,B,C,D,E)).
% 7.23/7.22  ** KEPT (pick-wt=165): 20 [] -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,A)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(A),B),C)),D),E))|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,A)))))))),fun(ty,fun(ty,bool)),widen(A),B)),$f40(A,B,C,D,E)),E)).
% 7.23/7.22  ** KEPT (pick-wt=228): 21 [] 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,A)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(A),B),C)),D),E))|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,C)),D)!=hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),F)| -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,A)))))))),fun(ty,fun(ty,bool)),widen(A),B)),F),E)).
% 7.23/7.22  ** KEPT (pick-wt=86): 22 [] -hBOOL(hAPP(list(A),bool,hAPP(list(B),fun(list(A),bool),hAPP(fun(B,fun(A,bool)),fun(list(B),fun(list(A),bool)),list_all2(B,A),C),D),E))|hBOOL(hAPP(A,bool,hAPP(B,fun(A,bool),C,$f42(A,B,F,C,D,E)),$f41(A,B,F,C,D,E)))|hBOOL(hAPP(list(A),bool,hAPP(list(B),fun(list(A),bool),hAPP(fun(B,fun(A,bool)),fun(list(B),fun(list(A),bool)),list_all2(B,A),F),D),E)).
% 7.23/7.22  ** KEPT (pick-wt=86): 23 [] -hBOOL(hAPP(list(A),bool,hAPP(list(B),fun(list(A),bool),hAPP(fun(B,fun(A,bool)),fun(list(B),fun(list(A),bool)),list_all2(B,A),C),D),E))| -hBOOL(hAPP(A,bool,hAPP(B,fun(A,bool),F,$f42(A,B,F,C,D,E)),$f41(A,B,F,C,D,E)))|hBOOL(hAPP(list(A),bool,hAPP(list(B),fun(list(A),bool),hAPP(fun(B,fun(A,bool)),fun(list(B),fun(list(A),bool)),list_all2(B,A),F),D),E)).
% 7.23/7.22  ** KEPT (pick-wt=49): 24 [] -hBOOL(hAPP(A,bool,hAPP(A,fun(A,bool),B,$f43(A,C,B)),$f43(A,C,B)))|hBOOL(hAPP(list(A),bool,hAPP(list(A),fun(list(A),bool),hAPP(fun(A,fun(A,bool)),fun(list(A),fun(list(A),bool)),list_all2(A,A),B),C),C)).
% 7.23/7.22  ** KEPT (pick-wt=87): 25 [] hBOOL(hAPP(A,bool,hAPP(A,fun(A,bool),B,$f45(A,C,D,E,B)),$f44(A,C,D,E,B)))| -hBOOL(hAPP(list(A),bool,hAPP(list(A),fun(list(A),bool),hAPP(fun(A,fun(A,bool)),fun(list(A),fun(list(A),bool)),list_all2(A,A),B),C),D))| -hBOOL(hAPP(list(A),bool,hAPP(list(A),fun(list(A),bool),hAPP(fun(A,fun(A,bool)),fun(list(A),fun(list(A),bool)),list_all2(A,A),E),D),C))|C=D.
% 7.23/7.22  ** KEPT (pick-wt=87): 26 [] hBOOL(hAPP(A,bool,hAPP(A,fun(A,bool),B,$f44(A,C,D,B,E)),$f45(A,C,D,B,E)))| -hBOOL(hAPP(list(A),bool,hAPP(list(A),fun(list(A),bool),hAPP(fun(A,fun(A,bool)),fun(list(A),fun(list(A),bool)),list_all2(A,A),E),C),D))| -hBOOL(hAPP(list(A),bool,hAPP(list(A),fun(list(A),bool),hAPP(fun(A,fun(A,bool)),fun(list(A),fun(list(A),bool)),list_all2(A,A),B),D),C))|C=D.
% 7.23/7.22  ** KEPT (pick-wt=82): 27 [] ti(A,$f45(A,B,C,D,E))!=ti(A,$f44(A,B,C,D,E))| -hBOOL(hAPP(list(A),bool,hAPP(list(A),fun(list(A),bool),hAPP(fun(A,fun(A,bool)),fun(list(A),fun(list(A),bool)),list_all2(A,A),E),B),C))| -hBOOL(hAPP(list(A),bool,hAPP(list(A),fun(list(A),bool),hAPP(fun(A,fun(A,bool)),fun(list(A),fun(list(A),bool)),list_all2(A,A),D),C),B))|B=C.
% 7.23/7.22  ** KEPT (pick-wt=123): 28 [] hBOOL(hAPP(A,bool,hAPP(B,fun(A,bool),C,$f48(D,A,B,E,F,G,H,I,C)),$f47(D,A,B,E,F,G,H,I,C)))| -hBOOL(hAPP(list(A),bool,hAPP(list(B),fun(list(A),bool),hAPP(fun(B,fun(A,bool)),fun(list(B),fun(list(A),bool)),list_all2(B,A),C),F),G))| -hBOOL(hAPP(list(D),bool,hAPP(list(A),fun(list(D),bool),hAPP(fun(A,fun(D,bool)),fun(list(A),fun(list(D),bool)),list_all2(A,D),I),G),E))|hBOOL(hAPP(list(D),bool,hAPP(list(B),fun(list(D),bool),hAPP(fun(B,fun(D,bool)),fun(list(B),fun(list(D),bool)),list_all2(B,D),H),F),E)).
% 7.23/7.22  ** KEPT (pick-wt=123): 29 [] hBOOL(hAPP(A,bool,hAPP(B,fun(A,bool),C,$f47(A,B,D,E,F,G,H,C,I)),$f46(A,B,D,E,F,G,H,C,I)))| -hBOOL(hAPP(list(B),bool,hAPP(list(D),fun(li
% 7.23/7.22  Search stopped in tp_alloc by max_mem option.
% 7.23/7.22  st(B),bool),hAPP(fun(D,fun(B,bool)),fun(list(D),fun(list(B),bool)),list_all2(D,B),I),F),G))| -hBOOL(hAPP(list(A),bool,hAPP(list(B),fun(list(A),bool),hAPP(fun(B,fun(A,bool)),fun(list(B),fun(list(A),bool)),list_all2(B,A),C),G),E))|hBOOL(hAPP(list(A),bool,hAPP(list(D),fun(list(A),bool),hAPP(fun(D,fun(A,bool)),fun(list(D),fun(list(A),bool)),list_all2(D,A),H),F),E)).
% 7.23/7.22  ** KEPT (pick-wt=123): 30 [] -hBOOL(hAPP(A,bool,hAPP(B,fun(A,bool),C,$f48(A,D,B,E,F,G,C,H,I)),$f46(A,D,B,E,F,G,C,H,I)))| -hBOOL(hAPP(list(D),bool,hAPP(list(B),fun(list(D),bool),hAPP(fun(B,fun(D,bool)),fun(list(B),fun(list(D),bool)),list_all2(B,D),I),F),G))| -hBOOL(hAPP(list(A),bool,hAPP(list(D),fun(list(A),bool),hAPP(fun(D,fun(A,bool)),fun(list(D),fun(list(A),bool)),list_all2(D,A),H),G),E))|hBOOL(hAPP(list(A),bool,hAPP(list(B),fun(list(A),bool),hAPP(fun(B,fun(A,bool)),fun(list(B),fun(list(A),bool)),list_all2(B,A),C),F),E)).
% 7.23/7.22  
% 7.23/7.22  Search stopped in tp_alloc by max_mem option.
% 7.23/7.22  
% 7.23/7.22  ============ end of search ============
% 7.23/7.22  
% 7.23/7.22  -------------- statistics -------------
% 7.23/7.22  clauses given                  0
% 7.23/7.22  clauses generated              0
% 7.23/7.22  clauses kept                  30
% 7.23/7.22  clauses forward subsumed       2
% 7.23/7.22  clauses back subsumed          0
% 7.23/7.22  Kbytes malloced            11718
% 7.23/7.22  
% 7.23/7.22  ----------- times (seconds) -----------
% 7.23/7.22  user CPU time          0.14          (0 hr, 0 min, 0 sec)
% 7.23/7.22  system CPU time        0.01          (0 hr, 0 min, 0 sec)
% 7.23/7.22  wall-clock time        7             (0 hr, 0 min, 7 sec)
% 7.23/7.22  
% 7.23/7.22  Process 29340 finished Wed Jul 27 02:49:42 2022
% 7.23/7.22  Otter interrupted
% 7.23/7.22  PROOF NOT FOUND
%------------------------------------------------------------------------------